RANK() vs DENSE_RANK(): ошибка, которая ломает топ-N в проде
При работе с данными в SQL рано или поздно возникает задача ранжирования: топ-5 продуктов по продажам, рейтинг сотрудников по KPI, распределение клиентов по категориям. На первый взгляд RANK() и DENSE_RANK() делают почти одно и то же. На тестовых данных разница может быть вообще незаметна. Но в проде именно здесь час...
Погода сигнала
Стабильно
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
При работе с данными в SQL рано или поздно возникает задача ранжирования: топ-5 продуктов по продажам, рейтинг сотрудников по KPI, распределение клиентов по категориям. На первый взгляд RANK() и DENSE_RANK() делают почти одно и то же. На тестовых данных разница может быть вообще незаметна. Но в проде именно здесь часто начинаются ошибки: — топ-3 внезапно возвращает 5 строк; — дашборд "врёт"; — backend-логика начинает вести себя не так, как ожидалось; — запрос, который вчера работал быстро, сегодня уходит в disk spill. Две самые популярные функции для ранжирования — RANK() и DENSE_RANK(). Ниже разберём, чем они отличаются, где именно ошибаются разработчики и аналитики, и что важно понимать: не только что делает оконная функция, но и сколько она стоит на больших объёмах данных.
Оставайтесь в сигнале
Следить за темой «RANK() vs DENSE_RANK(): ошибка, которая ломает топ-N в проде»
Следите не только за этой публикацией, но и за её продолжением: новыми материалами, соседними источниками и развитием сюжета.
Карта темы
Понять тему за минуту
Быстрый вход в историю: почему она важна сейчас, кто в ней участвует и куда идти дальше за контекстом.
Почему это важно сейчас
Карта темы
Открыть живую карту этой истории
Посмотрите, какие сущности, линии сюжета, источники и follow-up материалы формируют эту историю прямо сейчас.
Нажимайте на узлы
Story timeline
Продолжить следить за темой
Короткая линия событий и follow-up материалов, чтобы быстро понять ход темы.
Насколько можно опираться
Сигнал и надёжность Habr
Источник работает в быстрый ритме: 0% последних материалов попадают в горячее окно, а 8% дают выраженный поисковый сигнал.
Надёжность
10
Свежесть
22
Источников в сюжете
1
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Наш SQL: фанаты MySQL основали фонд OurSQL Foundation, чтобы давить на Oracle
Сообщество, выступающее от имени пользователей и разработчиков СУБД MySQL, основало фонд с говорящим названием OurSQL Foundation. Он призван помочь выступить единым фронтом прот...
Погода сигнала
Импульс быстро усиливается, поэтому это хороший ранний вход в тему.
Почему сейчас
Это один из самых свежих сюжетов, у которого ещё только формируется продолжение.
Промпты Nano Banana для фото и изображений: Бесплатно для Нано Банана Про
Создание безупречного визуала в Nano Banana — это не вопрос везения, а результат правильной коммуникации с нейросетью. В отличие от простых моделей прошлого, этот инструмент спо...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Пошаговая инструкция установки MTProto прокси через Service Node + VLESS
Если вы когда-нибудь пытались поднять прокси для Telegram на сервере, то знаете, что такое «мессенджер не грузит». В этой инструкции я предлагаю рассмотреть подробную, пошаговую...
Погода сигнала
Сейчас это одна из самых сильных точек сигнала: тема тянет поиск, внимание или редакционный приоритет.
Почему сейчас
Тема уже растёт в поиске: импульс 897 и 19 внешнего сигнала.
Накрутка поведенческих факторов для роста позиций — реально ли за день занять топ 1 Яндекса
Знаете, можно много долго спорить о том, что вот там умеют делать, а наши ничего не умеют. Но подход Яндекса к формированию поисковой выдачи мне всегда импонировал больше, нежел...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Промпты Nano Banana для фото и изображений: Бесплатно для Нано Банана Про
Создание безупречного визуала в Nano Banana — это не вопрос везения, а результат правильной коммуникации с нейросетью. В отличие от простых моделей прошлого, этот инструмент спо...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Пошаговая инструкция установки MTProto прокси через Service Node + VLESS
Если вы когда-нибудь пытались поднять прокси для Telegram на сервере, то знаете, что такое «мессенджер не грузит». В этой инструкции я предлагаю рассмотреть подробную, пошаговую...
Погода сигнала
Сейчас это одна из самых сильных точек сигнала: тема тянет поиск, внимание или редакционный приоритет.
Почему сейчас
Тема уже растёт в поиске: импульс 897 и 19 внешнего сигнала.
Накрутка поведенческих факторов для роста позиций — реально ли за день занять топ 1 Яндекса
Знаете, можно много долго спорить о том, что вот там умеют делать, а наши ничего не умеют. Но подход Яндекса к формированию поисковой выдачи мне всегда импонировал больше, нежел...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Тени истории. Ренессанс – революция, подарившая миру главный инструмент шпионов
Вторая статья цикла о криптографии, в котором мы рассказываем, как человечество училось прятать и расшифровывать секреты — от древних методов до современных алгоритмов. Сегодня ...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.