Использование DENSE_RANK вместо RANK предпочтительнее в случаях, когда важна непрерывность рангов. 1
Функция DENSE_RANK продолжает ранжирование без пропусков, в то время как RANK создаёт пробелы в ранжированном списке после группы совпадающих значений. 12 Например, если требуется непрерывный набор идентификаторов или рейтинга, и пропуск не является приемлемым. 1
Также DENSE_RANK подойдёт, если необходимо найти n-ую зарплату в данных, содержащих NULL и дубликаты. 1 Тогда избежать «чёрных дыр» в присвоении рангов будет проще, чем при использовании RANK, который ведёт к возможности пропусков. 1
Выбор между DENSE_RANK и RANK зависит от конкретных требований к ранжированию данных.