Member-only story

SQL İle Window Functions: OVER ve PARTITION BY

Mehmet Ali Kaya
3 min readJun 16, 2021

--

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.

Source: www.educba.com

PARTITION BY Kullanımı

<window function> OVER(PARTITION BY Sütun1,Sütun2, Sütun_n...)

Örneğin: Her bir araç modelini gruplayarak o araç kategorisindeki en yüksek fiyatlı aracın değerini de gösterelim. Modele göre gruplama ve tüm farklı modellerden dönen tek bir sonuç elde etmek istiyoruz.

--

--

Mehmet Ali Kaya
Mehmet Ali Kaya

Written by Mehmet Ali Kaya

Industrial Engineer/ Business Intelligence Consultant

No responses yet