Выбор ответа Junior SQL дата-инженера спрашивают часто обновлено

ROW_NUMBER, RANK, DENSE_RANK

Вопрос

Значения сортировки: 100, 90, 90, 80. Какие номера даст RANK() по убыванию?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 1, 2, 2, 4. RANK даёт равным одинаковый ранг и пропускает следующие номера: после двух вторых мест идёт четвёртое.

Варианты ответа

  1. 1, 2, 3, 4
  2. 1, 2, 2, 3
  3. 1, 1, 2, 3
  4. 1, 2, 2, 4правильный ответ

Разбор

RANK даёт равным одинаковый ранг и пропускает следующие номера: после двух вторых мест идёт четвёртое. 1, 2, 3, 4 это ROW_NUMBER, он не учитывает равенство. 1, 2, 2, 3 это DENSE_RANK, без пропусков. Последний вариант не соответствует ни одной функции.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.