PostgreSQL RANK Kullanımı

"RANK" fonksiyonu, PostgreSQL veritabanı sistemi içinde kullanılmak üzere tasarlanmış bir sorgu fonksiyonudur. Bu fonksiyon, verilen bir sorguda belirtilen kriterlere göre sıralanmış sonuçların sıralama sırasını döndürür.

"RANK" fonksiyonunda aynı değere sahip olan satırlar için aynı sıralama sırasını döndürür. Örneğin, "ad" alanına göre sıralanmış bir tablo içinde aynı "ad" değerine sahip olan tüm satırlar için aynı sıralama sırasını döndürecektir.

  • Not: "RANK" fonksiyonunu kullanmak için, SQL sorgusunda "ORDER BY" komutunu kullanmalısınız.

Aşağıdaki örneği inceleyelim..

SELECT ad, soyad, RANK() OVER (ORDER BY ad) FROM kisiler

Bu sorgu, "kisiler" tablosunda "ad" alanına göre sıralanmış sonuçların sıralama sırasını döndürür. Sonuç şu şekilde olacaktır..

ad         | soyad        | RANK
-----------+--------------+------
Ahmet      | Yılmaz       | 1
Ahmet      | Çelik        | 1
Mehmet     | Kaya         | 2
Ali        | Çelik        | 3

Bu sorguda, "Ahmet" adına sahip satırlar aynı sıralama sırasına sahip olacaktır.

Ayrıca, "RANK" fonksiyonu sadece bir alana göre değil birden fazla alana göre de sıralama yapabilir. Örneğin, "ad" ve "soyad" alanlarına göre sıralama yapmak istediğimizde sorgu şöyle olacaktır..

SELECT ad, soyad, RANK() OVER (ORDER BY ad, soyad) FROM kisiler

Bu sorgu, "kisiler" tablosunda "ad" ve "soyad" alanlarına göre sıralanmış sonuçların sıralama sırasını döndürür. Sonuç şu şekilde olacaktır..

ad         | soyad        | RANK
-----------+--------------+------
Ahmet      | Çelik        | 1
Ahmet      | Yılmaz       | 2
Ali        | Çelik        | 3
Mehmet     | Kaya         | 4

Bu sorguda, "Ahmet" adına sahip satırların ad kolonu değeri aynı olsada soyad kolonu değeri farklı olduğu için satırlar farklı sıralama sırasına sahip olacaktır.



İlginizi Çekebilir

PostgreSQL CURRENT_ROLE Kullanımı

PostgreSQL BIT_LENGTH Kullanımı

PostgreSQL Sorgu İle Tablo Silmek

PostgreSQL Bir Tabloya Sorgu İle Kolon Ekleme

PostgreSQL TIME_OF_DAY Kullanımı