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.

← Önceki ders · Sıradaki ders · GROUP BY →