Разница между RANK и DENSE_RANK заключается в том, как они обрабатывают связи. dzen.ru
RANK присваивает ранг каждой строке в наборе результатов на основе указанного порядка. dev.to Строки с одинаковыми значениями получают одинаковый ранг, при этом последующие ранги корректируются с учётом связей, что приводит к пробелам в последовательности ранжирования. dev.to Например, если две строки имеют самый высокий ранг (1), то следующий назначенный ранг будет 3, оставляя пробел. dev.to
DENSE_RANK похож на RANK, но без пробелов в значениях ранжирования. dev.to Строки с одинаковыми значениями получают одинаковый ранг, а следующему уникальному значению присваивается немедленный следующий ранг. dev.to Например, если две строки имеют самый высокий ранг (1), то следующий назначенный ранг будет 2, без каких-либо пробелов. dev.to
Кроме того, RANK всегда увеличивает номер ранга на 1 для каждой новой строки, тогда как DENSE_RANK поддерживает непрерывное ранжирование. dzen.ru