Выбор ответа Junior SQL дата-инженера спрашивают часто обновлено
ROW_NUMBER, RANK, DENSE_RANK
Вопрос
Значения сортировки: 100, 90, 90, 80. Какие номера даст RANK() по убыванию?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 1, 2, 2, 4. RANK даёт равным одинаковый ранг и пропускает следующие номера: после двух вторых мест идёт четвёртое.
Варианты ответа
- 1, 2, 3, 4
- 1, 2, 2, 3
- 1, 1, 2, 3
- 1, 2, 2, 4правильный ответ
Разбор
RANK даёт равным одинаковый ранг и пропускает следующие номера: после двух вторых мест идёт четвёртое. 1, 2, 3, 4 это ROW_NUMBER, он не учитывает равенство. 1, 2, 2, 3 это DENSE_RANK, без пропусков. Последний вариант не соответствует ни одной функции.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.