Middle
RANK ва DENSE_RANK чӣ фарқ дорад?
sobes.tech AI
Ҷавоб аз AI
RANK ва DENSE_RANK — SQL-да терезе функциялари бўлиб, улар терез ичидаги қаторларга ранглар беради, аммо бир хил қийматлар бўлганда (яъни, тенгликда) уларнинг хулқ-атвори фарқ қилади.
-
RANK(): Бир хил қийматларга бир хил ранг беради, аммо кейинги рангларни ўтказиб юбориб, уларни тақсимлайди. Масалан, агар икки қатор биринчи ўринни бўлса, иккала ҳам 1-рақам олади, кейинги қатор 3-рақам олади (2 ўтказиб юборилади).
-
DENSE_RANK(): Шунингдек, бир хил қийматларга бир хил ранг беради, аммо рангларни ўтказиб юбормайди. Шу мисолда, икки қатор 1-рақамда, кейинги қатор 2-рақам олади.
Масалан:
| Қиймат | RANK() | DENSE_RANK() |
|---|---|---|
| 100 | 1 | 1 |
| 100 | 1 | 1 |
| 90 | 3 | 2 |
| 80 | 4 | 3 |
Шу тариқа, DENSE_RANK() тыгыз ранглар беради, RANK() эса тенгликда бўшликларни ҳисобга олади.