MSSQL Row_Number() ve Partition BY Kullanımı

Bir projemde, satış yapılan firmaların son 9 aylık aldığı ürünlerin içerisinde fiyatı en yüksek olan ürünleri listelemem gerekti. Row_Number ve Partition By kullanımına güzel bir örnek oldu.

Sorgu Group By kullanılarakta çözülebilir pekala. Ancak Row_Number ve Partition By kullanımını da bilmekte fayda var. Group By’ın çözüm olamayacağı yerlerde imdada yetişebilir.

Row_Number ve Partition By kullanımı:

select * from (select ROW_NUMBER() over(partition BY (Tip+Izo+Cap+Boy) order by OzelFiyat desc) AS sira, Tip,Izo,Cap,Boy,OzelFiyat from ProformaVerileri
where Tekliftarihi >= DATEADD(MONTH, -9, GETDATE()) and ProfNo like 'TAS%') k where sira=1 order by Tip

Group By kullanımı:

select Tip,Izo,Cap,Boy,MAX(OzelFiyat) from ProformaVerileri where Tekliftarihi >= DATEADD(MONTH, -9, GETDATE()) and ProfNo like 'TAS%' GROUP BY Tip,Izo,Cap,Boy

Kolay gele…

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir