В таблице payments(user_id, amount, paid_at, ...) считаем ранги. В чем разница между RANK() и ROW_NUMBER() при одинаковом ORDER BY?
SQLmediummiddle
Варианты ответа
RANK присваивает одинаковый ранг строкам с одинаковым значением и оставляет пропуски в нумерации, ROW_NUMBER всегда увеличивается на 1 для каждой строки без пропусков
RANK присваивает одинаковый ранг строкам с одинаковым значением, но не оставляет пропусков, ROW_NUMBER всегда идет подряд, но может оставлять пропуски
RANK присваивает уникальный ранг каждой строке, а ROW_NUMBER может присваивать одинаковые номера строкам с одинаковыми значениями в ORDER BY
RANK и ROW_NUMBER при одинаковом ORDER BY всегда ведут себя одинаково, разница только в названии функций
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.