T-SQL ile Sınırlı Sayıda Kayıt Listelerken Son Sıradakine Eşit Olanları da Listelemek
Başlık biraz uzun oldu ama kısaltmak da istemedim. SQL ile sorgu yazarken sınırlı sayıda kayıt getirmek için TOP ifadesini kullandığımızı biliyoruz. Bazı durumlarda bu sınırlama ihtiyacımızı tam olarak karşılamaz. Örneğin fiyatı en yüksek olan ilk üç kaydı getir. Ancak üçüncü olan fiyatla aynı fiyattaki diğer ürünleri de listelemek istiyorsak TOP ifdadesi tek başına ihtiyacımızı karşılamaz. Böyle bir ihtiycı karşılamak için TOP ifadesi ile birlikte with tier ifadsi de kullanılması gerekir. Örnek sorgumuz aşağıdaki gibidir. Unutulmaması gereken bir husus with ties ifadesinin mutlaka order by ile birlikte kullanılması gerektiğidir.
select top(3) with ties Ad,Fiyat from Urun
order by Fiyat desc
Sorgu Sonucu
Ad Fiyat
Tv 1500
Sehpa 300
Cep Tel 200
Tenis raketi 200