Tartışma

SQL Ranking Fonksiyonları

Başlatan CyberReis · 27 Tem 2026 15:51 · 0 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
SQL dilinde sıralama ve derecelendirme işlemleri için kullanılan fonksiyonlar, veri analizi ve raporlama süreçlerinde oldukça önemlidir. Bu fonksiyonlar, veritabanındaki kayıtları belirli bir kritere göre sıralayarak, her bir kayda bir sıralama numarası atar. Bu yazıda, en yaygın kullanılan sıralama fonksiyonları olan ROW_NUMBER(), RANK(), ve DENSE_RANK() fonksiyonlarını detaylı bir şekilde inceleyeceğiz.

1. ROW_NUMBER()
ROW_NUMBER() fonksiyonu, belirli bir sıralama kriterine göre her bir kayda benzersiz bir satır numarası atar. Bu fonksiyon, genellikle sonuç kümesindeki belirli bir sırayı takip etmek için kullanılır. Örneğin, bir öğrencinin notlarını sıralamak istiyorsanız:

CODE
1234567
SELECT 
    student_id, 
    grade, 
    ROW_NUMBER() OVER (ORDER BY grade DESC) AS rank
FROM 
    students;


Yukarıdaki sorgu, öğrencileri notlarına göre azalan sırada sıralar ve her birine bir sıra numarası atar.

2. RANK()
RANK() fonksiyonu, aynı değere sahip olan kayıtlara aynı sıralama numarasını atar ancak sonraki kayıtlara atanan sıra numarasını atlamakta. Örneğin, iki öğrencinin notu eşitse her ikisine de aynı sıralama numarası verilir, ancak bir sonraki öğrenci bir sayı atlatarak sıralanır:

CODE
1234567
SELECT 
    student_id, 
    grade, 
    RANK() OVER (ORDER BY grade DESC) AS rank
FROM 
    students;


Eğer iki öğrenci 90 not alırsa, her ikisi de birinci olarak sıralanır ve üçüncü sıradaki öğrencinin notu 89 olursa, onun sıralama numarası 3 olacaktır.

3. DENSE_RANK()
DENSE_RANK() fonksiyonu ise, benzer şekilde aynı değere sahip olan kayıtlar için aynı sıralama numarasını verir, ancak sıralama atlamaz. Yukarıdaki örnek üzerinden gidersek, iki öğrenci 90 not alıyorsa, her ikisi de birinci olarak sıralanır, ancak sonraki öğrenci 2. sırada yer alır:

CODE
1234567
SELECT 
    student_id, 
    grade, 
    DENSE_RANK() OVER (ORDER BY grade DESC) AS rank
FROM 
    students;


Bu işlev, sıralama yapılırken arada boşluk bırakmadan devam eden bir sıralama sağlamak için idealdir.

SQL sıralama fonksiyonları, veri setleri üzerinde analiz yaparken büyük kolaylık sağlar. Bu fonksiyonlar sayesinde, belirli bir kritere göre gruplama ve sıralama işlemlerini etkili bir şekilde gerçekleştirmek mümkündür. Sıralama fonksiyonlarının doğru kullanımı, veri analizi ve raporlama süreçlerinde elde edilen çıktının kalitesini artırır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi