Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Window Function'lar 1: OVER, PARTITION BY, ROW_NUMBER, RANK ve Grup Başına Top-N
Window function, GROUP BY gibi hesap yapar ama row'ları çökertmez; sonucu her row'un yanına yazar. OVER ve PARTITION BY'ı, ROW_NUMBER, RANK, DENSE_RANK ve NTILE'ın eşitliklerdeki farkını, WHERE'de neden kullanılamadığını, CTE ile grup başına top-N'i, eşitlik kararını ve ROW_NUMBER ile güvenli duplicate silmeyi Bookstore verisinde gerçek çıktıyla gösteriyoruz.
Window Function'lar 2: Running Total, ROWS vs RANGE Frame'leri, LAG/LEAD ve Gaps and Islands
ORDER BY'lı bir window aggregate'in varsayılan frame'i RANGE UNBOUNDED PRECEDING'dir; aynı değerli row'lar aynı toplamı alır ve SQL Server worktable kullanır. Kümülatif toplamı, ROWS ile RANGE'in logical read farkını, eksik günlerle hareketli ortalamayı, LAG/LEAD'i, LAST_VALUE tuzağını, PERCENTILE_CONT ile medyanı ve gaps and islands'ı Bookstore verisinde gerçek çıktıyla gösteriyoruz.