Разница между функциями RANK и DENSE_RANK заключается в способе присвоения рангов записям в упорядоченном наборе данных. 2
RANK создаёт пробелы в ранжированном списке после группы совпадающих значений. 2 Например, если две строки имеют одинаковое значение, они получают одинаковый ранг, а следующий ранг пропускается. 3
DENSE_RANK продолжает ранжирование без пропусков. 2 Если две строки имеют одинаковое значение и, следовательно, одинаковый ранг, следующий отдельный элемент получает следующий последовательный ранг. 3
Таким образом, RANK используется, когда нужно отразить истинное положение, включая совпадающие значения и пробелы, а DENSE_RANK — когда важно назначить ранги без пропусков. 3