Sql Server 2012 – LAG ve LEAD

Sql Server 2012 ile birlikte gelen bir diğer yenilik LEAD ve LAG fonksiyonlarıdır. Bu fonksiyonlar verilerimizi yan yan yana göstermek için kullanılabilir. Yani tabloyu kendi ile tekrar join yapmadan, bir önceki ve bir sonraki  satırdaki değerlere ulaşmamızı sağlar. LAG ve LEAD fonksiyonlar haftalık,aylık,yıllık karşılaştırma yaparken  kullanılabilir. Tabloyu kendi ile tekrar birleştirmemize (self join) gerek kalmayacağı için sorgu maliyeti de
azalacaktır.

[sql]

SELECT
BusinessEntityID,
Year(QuotaDate) AS SalesYear,
LAG(SalesQuota) OVER (ORDER BY YEAR(QuotaDate)) AS PreviousQuota,
SalesQuota AS CurrentQuata,
LEAD(SalesQuota) OVEr (ORDER BY YEAR(QuotaDate)) as NextQuota
FROM Sales.SalesPersonQuotaHistory
WHERE BusinessEntityID=280

[/sql]

laglead

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.