RANK
Ставить місця з урахуванням рівних: однакові значення ділять місце, а наступне пропускається.
Синтаксис
RANK() OVER (ORDER BY <критерій>)
RANK() OVER (PARTITION BY <група> ORDER BY <критерій>)
Як на змаганнях: двоє з однаковим результатом ділять друге місце, а наступний стає четвертим, бо третє вже «зайняте». Віконна функція: рядків не меншає, кожен отримує своє місце. PARTITION BY рахує місця окремо в кожній групі.