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.