Sobes.tech
Middle

RANK va DENSE_RANK qanday farq qiladi?

sobes.tech AI

AIdan javob

RANK va DENSE_RANK SQLda oynash funktsiyalaridir, ular oynadagi satrlarga reyting beradi, ammo bir xil qiymatlar bo‘lsa (ya’ni, tenglikda) xulq-atvori farq qiladi.

  • RANK(): Bir xil qiymatlarga bir xil reyting beradi, ammo keyingi reytinglarni o'tkazib yuboradi. Masalan, agar ikki satr birinchi o‘rinni bo‘lishsa, ikkalasi ham 1-reyting oladi, va keyingi satr 3-reyting oladi (2 o‘tkazib yuboriladi).

  • DENSE_RANK(): Shuningdek, bir xil qiymatlarga bir xil reyting beradi, ammo reytinglarni o'tkazib yubormaydi. Shu misolda, ikki satr 1-reytingda bo‘lsa, keyingi satr 2-reyting oladi.

Misol:

Qiymat RANK() DENSE_RANK()
100 1 1
100 1 1
90 3 2
80 4 3

Shu tarzda, DENSE_RANK() zich reytinglarni bo‘shliqsiz beradi, RANK() esa tenglikda bo‘lsa, bo‘shliqlarni hisobga oladi.