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

Paylaşmayı unutmayın!
0 0 votes
Article Rating
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments