Member-only story
SQL İle Window Functions: OVER ve PARTITION BY
Bir önceki yazımızda OVER() fonksiyonu ile bazı analizler yapmıştık. Bu derste OVER() fonksiyonu ile iç içe, gruplama yapabilmek için PARTITION BY fonksiyonunu kullanacağız.
Standart SQL sorgularında analizlerimizi belirli kırılımlara göre gruplamak için GROUP BY fonksiyonunu kullanıyorduk. Temelde GROUP BY, istenilen düzeyde kırılımları ayrı ayrı ve daraltılmış satırlar halinde bize döndürür. Bir “window function” olan PARTITION BY() ile GROUP BY arasındaki en temel fark PARTITION BY satırları daraltmaz yani her satırdaki işlemi gruplanmış bir şekilde ayrı ayrı gösterir. GROUP BY hatırlandığı üzere satırlar üzerinde genel bir işlem yapar ve sonucu o şekilde gösterir. Aynı mantık PARTITION BY komutunda da vardır fakat, gruplanmış sütunlara denk her satır tek tek gösterilir.
PARTITION BY Kullanımı
<window function> OVER(PARTITION BY Sütun1,Sütun2, Sütun_n...)