Sobes.tech
Middle

RANK və DENSE_RANK arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

RANK və DENSE_RANK SQL-də pəncərə funksiyalarıdır və pəncərədəki sətirlərə sıralar təyin edir, lakin bərabər dəyərlər (yəni, bərabərlik) halında davranışları fərqlidir.

  • RANK(): Eyni dəyərlərə eyni sıralama verir, lakin növbəti sıraları atlayır. Məsələn, iki sətir birinci yeri bölüşürsə, hər ikisi 1-ci sıralama alır və növbəti sətir 3-cü sıralama alır (2 atlanır).

  • DENSE_RANK(): Eyni dəyərlərə eyni sıralama verir, lakin sıraları atlamır. Eyni nümunədə, iki sətir 1-ci sıralamada, növbəti 2-ci sıralama alır.

Nümunə:

Dəyər RANK() DENSE_RANK()
100 1 1
100 1 1
90 3 2
80 4 3

Beləliklə, DENSE_RANK() sıx sıralar verir, RANK() isə bərabərlikdə boşluqları nəzərə alır.