SQL · DERS 03
ORDER BY ve LIMIT
80 TL ve üzerindeki en yüksek tutarlı üç siparişi bul. Tutarlar eşitse sipariş kimliği küçük olan önce gelsin.
1. Filtrele, sırala, ilk üçü al
WHERE eşiğin altındaki siparişleri eler. DESC büyük tutarı öne alır. Tutar eşitse ikinci sıralama anahtarı olan order_id ASC devreye girer. LIMIT 3 sıralanmış sonucun ilk üç satırını alır.
SELECT order_id, amount
FROM orders
WHERE amount >= 80
ORDER BY amount DESC, order_id ASC
LIMIT 3;2. Çıktıyı tahmin et
Tutarlar A1 = 120, A2 = 80, A3 = 50, A4 = 150 ve A5 = 120 TL. Hangi üç sipariş hangi sırayla döner?
Çözümü göster
A4, A1, A5. A1 ve A5 eşit tutarlı olduğu için kimlik sırasına bakılır. A2 filtreyi geçer ama ilk üçe girmez.
3. Laboratuvarda dene
Başlangıç sorgusu artan sırada çalışıyor. Sıralamayı düzelt ve eşit tutarlı satırların sırasını test et.
Laboratuvarı aç →Junior veri analisti mülakat sorusu
Üçüncü ve dördüncü sipariş eşit tutarlı. Rapor tam üç satır istiyorsa sonucu nasıl tutarlı hale getirirsin?
Örnek yanıt
Tutardan sonra benzersiz bir sıralama anahtarı, örneğin sipariş kimliği eklerim. İş kuralı eşit tutarlı siparişlerin hepsini dahil etmeyi gerektirirse üç satır sınırını yeniden değerlendiririm.