ROW_NUMBER
- SQL kursu
- İleri seviye
- Ders 14/81
- 4 dk
Her satıra sıra numarası vermeyi öğrenirsin.
ROW_NUMBER
ROW_NUMBER() her satıra benzersiz bir sıra numarası verir. 1'den başlar.
SELECT name,
ROW_NUMBER() OVER (ORDER BY id) AS rn
FROM products;Bu sorgu her satıra 1, 2, 3... verir.
products kaynağından name, ROW_NUMBER() OVER (ORDER BY id) AS rn seçilir. ROW_NUMBER() bir pencere fonksiyonudur: satırları daraltmadan, OVER (…) içinde tanımlanan pencereye göre her satır için ayrı değer hesaplar.
ROW_NUMBER — ayrıntı
ROW_NUMBER eşitlikte bile farklı numara verir. RANK ve DENSE_RANK eşitlikte aynı numara verir.
Bu yüzden sayfalama veya her gruptan tek satır seçmek gibi işlerde ROW_NUMBER kullanılır; sıralamada eşitlik önemliyse RANK ya da DENSE_RANK tercih edilir.
Uygulama ROW_NUMBER
Her ürüne ROW_NUMBER() OVER (ORDER BY id) ile sıra numarası ver.
Başlangıç kodu
-- sıra numarası
SELECT name,
ROW_NUMBER()Örnek çözüm
SELECT name,
ROW_NUMBER() OVER (ORDER BY id) AS rn
FROM products;Beklenen çıktı
name rn Kalem 1 Defter 2
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 ROW_NUMBER ekle
SELECT name,
____() OVER (ORDER BY id) AS rn
FROM products;
SELECT name,
ROW_NUMBER() OVER (ORDER BY id) AS rn
FROM products;
Açıklama: ROW_NUMBER doğru cevap.
2 ROW_NUMBER eşitlikte ne yapar?
- Aynı numara
- Farklı numara Doğru cevap
- Atlar
- Hata
Açıklama: ROW_NUMBER eşitlikte farklı numara verir.
3 ROW_NUMBER: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
ROW_NUMBER |
sıra no |
benzersiz |
tekil |
1'den başlar |
ardışık |
eşitlik |
farklı |