RANK против DENSE_RANK: разница и сравнение

Стандартный язык запросов помогает программисту создавать программы в соответствии с потребностями и требованиями. В этом конкретном языке RANK и DENSE_RANK — это две функции, которые большинство людей склонны использовать как взаимозаменяемые, но правда в том, что эти две функции полностью отличаются друг от друга, если смотреть из глубины. 

Основные выводы

  1. Ранг присваивает уникальный номер каждому элементу в зависимости от его порядка, в то время как плотный ранг присваивает уникальный номер каждому элементу в зависимости от его порядка, но не оставляет пробелов.
  2. Ранг не пропускает ни одно число при присвоении ранга, в то время как плотный ранг может пропускать числа, если есть ничьи.
  3. Ранг обычно используется в стандартном SQL, тогда как плотный ранг используется в аналитических функциях.

РАНГ против DENSE_RANK 

Функция RANK присваивает каждой строке в результирующем наборе уникальный ранг на основе определенного критерия упорядочения. Если две или более строк имеют одинаковое значение критерия упорядочения, им будет присвоен один и тот же ранг, а следующий ранг будет пропущен. Функция DENSE_RANK присваивает уникальный ранг каждой строке в результирующем наборе, даже если две или более строк имеют одинаковое значение критерия упорядочения.

РАНГ против ПЛОТНОГО РАНГА

RANK в стандартном языке запросов можно понимать как функцию, которая позволяет программисту классифицировать и оценивать определенный набор чисел.

Эта функция обеспечивает определенный рейтинг для всех чисел, и когда одно и то же число повторяется, ранг также повторяется в отношении этих двух чисел. Но очень уникальной характеристикой этой функции является то, что когда она допускает одинаковый ранг для двух или более чисел, она всегда пропускает следующее число. 

Наоборот, DENSE_RANK немного отличается от предыдущего. DENSE_RANK в стандартном языке запросов можно понимать как функцию, которая позволяет программисту классифицировать определенные данные, не пропуская ни одного числа, даже после того, как разрешены аналогичные ранги.

Читайте также:  SMS против MMS: разница и сравнение

Эта характеристика существует как основная отличительная черта этого элемента. 

Сравнительная таблица

Параметры сравнения RANK / ЗВАНИЕ  DENSE_RANK 
Смысл  Это относится к функции, доступной в языке программирования, которая помогает классифицировать различные наборы данных.  Это относится к функции, доступной в языке программирования, которая помогает классифицировать различные наборы данных, не пропуская ни одного номера.  
Обработка  Ранжирование осуществляется путем предоставления различных числовых рангов разным числам. Когда два числа совпадают, им присваивается один и тот же ранг. Плотное ранжирование выполняется путем предоставления разных числовых рангов разным числам и одинаковых числовых рангов одинаковым числам. Однако в этом процессе не пропускается ни один последовательный номер. 
Цель  Целью этой конкретной функции является анализ заданного ранга каждой строки. Целью этой конкретной функции является анализ рангов определенного столбца, а не каждой строки. 
Правильное название программы Пишется и читается как РАНГ () Записывается и читается как DENSE_RANK()  
Система счисления При выполнении этой функции аналогичным числам присваиваются одинаковые ранги, и каждое число, следующее за этим конкретным рангом, пропускается. При выполнении этой функции аналогичным числам присваиваются одинаковые ранги, но при ранжировании ни одно число не пропускается. 

Что такое РАНГ?

На языке компьютерного программирования, называемом стандартным языком запросов или SQL, ранг — это очень простая функция, которую многие программисты используют для категоризации различных наборов данных. Эта функция позволяет пользователю упростить предоставляемые данные и лучше понять информацию. 

Очень уникальной особенностью этой функции является то, что когда два или более числа повторяются из-за их количества, им присваивается аналогичный ранг, как объяснялось ранее. Но когда это сделано, порядок ранжирования пропускает следующее число, следующее за этим номером ранга. 

Давайте возьмем пример, чтобы понять это. За пять лет компания произвела различное количество риса: 100 кг, 200 кг. 300 кг, 300 кг, 400 кг. В этих данных ранжирование будет 1, 2, 3, 3 и 5.

Читайте также:  Абсолютные и инкрементальные энкодеры: разница и сравнение

В этом примере видно, что в заказе пропущена цифра 4, и это произошло из-за повторения цифры 3.  

Что такое DENSE_RANK?

DENSE_RANK, как функция, присутствующая в SQL язык программирования, оказывается еще одной уникальной, но немного отличающейся функцией. При предоставлении ранга количества от самого высокого до самого низкого классифицируются и ранжируются соответственно.  

Величины, которые оказались отличными друг от друга, получают разные рейтинги, в то время как количества, которые оказались похожими друг на друга, получают одинаковые рейтинги. Но в отличие от ранжирования, в этой конкретной функции при ранжировании выделенного набора данных число не сохраняется. 

Давайте возьмем пример этого. В течение пяти лет человек каждый год проходил определенное расстояние. Он прошел 100 км, 200 км, 300 км, 300 км и 500 км соответственно.

Функция плотного ранжирования обеспечит ранжирование 1, 2, 3, 3, 4. Разница видна, поскольку она не пропускает число 4. Эта функция популярна в программировании из-за ее способности классифицировать данные, представленные в небольшом столбец. 

Основные различия между RANK и DENSE_RANK 

  1. Ранг — это функция, представленная в SQL язык, который помогает программисту классифицировать другой набор данных, но плотный ранг — это еще одна функция, которая выполняет аналогичную работу, но не пропускает ни одного числа. 
  2. Целью ранжирования является анализ заданного ранга каждой комнаты, в то время как целью плотного ранжирования является анализ рангов только определенного столбца. 
  3. Ранг записывается как RANK(), а плотный ранг записывается как DENSE_RANK(). 
  4. В рейтинге одинаковым числам присваивается одинаковый ранг, но следующее число, следующее за этим конкретным рангом, пропускается. Но в плотном ранжировании числа не экранируются, и ранг следует определенному числовому порядку. 
  5. Ранжирование позволяет легко получить результаты из большого количества данных, в то время как плотное ранжирование подходит для получения данных только из определенного набора столбцов или строк. 

Рекомендации 

  1. https://link.springer.com/chapter/10.1007/978-1-4842-5197-3_2 
  2. https://link.springer.com/chapter/10.1007/978-1-4842-7182-7_12  

Последнее обновление: 07 августа 2023 г.

точка 1
Один запрос?

Я приложил столько усилий, чтобы написать этот пост в блоге, чтобы предоставить вам ценность. Это будет очень полезно для меня, если вы подумаете о том, чтобы поделиться им в социальных сетях или со своими друзьями/родными. ДЕЛИТЬСЯ ♥️

10 мыслей о «RANK против DENSE_RANK: разница и сравнение»

  1. В этой статье представлено подробное объяснение функций RANK и DENSE_RANK в SQL, что очень полезно для программистов, работающих с этим языком.

    Ответить
  2. Пример, приведенный для объяснения функции RANK, очень эффективен для иллюстрации того, как она работает с повторяющимися числами и пропуском рангов.

    Ответить
  3. В статье дается четкое и подробное объяснение различий между RANK и DENSE_RANK в SQL, что очень полезно для программистов, использующих этот язык.

    Ответить
  4. Сравнение систем счисления RANK и DENSE_RANK очень информативно и проясняет, как они по-разному обрабатывают одинаковые числа.

    Ответить
  5. Пример, используемый для иллюстрации пропуска рангов в функции РАНГ, очень эффективен для демонстрации ее поведения с повторяющимися числами.

    Ответить
  6. Подробное объяснение функций RANK и DENSE_RANK в SQL в статье очень информативно и дает четкое понимание их различий.

    Ответить
  7. Объяснение того, как DENSE_RANK ранжирует величины от самого высокого до самого низкого, очень полезно для понимания того, как эта функция классифицирует и ранжирует данные.

    Ответить

Оставьте комментарий

Хотите сохранить эту статью на потом? Нажмите на сердечко в правом нижнем углу, чтобы сохранить в свой собственный блок статей!