PostgreSQL LAG Kullanımı

PostgreSQL'de LAG fonksiyonu, veritabanındaki bir sütunun belirli bir satırdaki değerini önceki satırdaki değerle karşılaştırmak için kullanılır.

Örneğin, "satislar" tablosunda "tarih" ve "satis_miktari" sütunları olsun. Bu tabloda "tarih" sütununda "2022-01-01" ve "satis_miktari" sütununda "100" olan bir satır var. Bu satırın önceki satırının "satis_miktari" değerini öğrenmek için aşağıdaki sorgu kullanılabilir..

SELECT LAG(satis_miktari) OVER (ORDER BY tarih) FROM satislar WHERE tarih='2022-01-01';

Ayrıca LAG fonksiyonu, veritabanındaki bir sütunun belirli bir satırdaki değerini önceki satırdaki değerle karşılaştırmak için de kullanılabilir.

Aşağıdaki sorguyu inceleyelim..

SELECT 
tarih, 
satis_miktari,
LAG(satis_miktari) OVER (ORDER BY tarih) as onceki_satis,
satis_miktari - LAG(satis_miktari) OVER (ORDER BY tarih) as fark
FROM satislar
ORDER BY tarih;

Bu sorgu, tarih sırasına göre satışları listeler ve her satış için bir önceki satışın miktarını ve aralarındaki farkı hesaplar. Aşağıdaki sonuca benzer bir yapı döndürür..

 tarih         satis_miktari       onceki_satis        fark
-----------------------------------------------------------
2021-01-01    | 100               |  null             |  null
2021-01-02    | 120               |  100              |  20
2021-01-03    | 130               |  120              |  10
2021-01-04    | 150               |  130              |  20
2021-01-05    | 140               |  150              | -10

Bu sorgu, LAG fonksiyonunu kullanarak her satırın önceki satırının satış miktarını alır. Ayrıca her satır için satış miktarının önceki satırın satış miktarından çıkarılmasını sağlar ve bu iki değer arasındaki farkı hesaplar.



İlginizi Çekebilir

PostgreSQL CURRENT_ROLE Kullanımı

PostgreSQL SHA256 Kullanımı

PostgreSQL Tablonun Kolon Adını Sorgu İle Değiştirmek

PostgreSQL Arkkosinüs Değeri Alma

PostgreSQL REPLACE Kullanımı