RANK_UNIQUE (оконная)

Синтаксис

RANK_UNIQUE( value [ , direction ] )
RANK_UNIQUE( value [ , direction ]             [ TOTAL | WITHIN ... | AMONG ... ]             [ BEFORE FILTER BY ... ]           )

Подробнее:

Описание

Выполняет уникальное ранжирование. Возвращает порядковый номер строки при сортировке по value. Строки, которые соответствуют одному и тому же значению value, имеют разные значения ранга. Ни для каких двух строк значения не совпадают. Принимает все значения от 1 до значения, которое равно количеству строк.

Если direction равно "desc" или не указано, то ранжирование происходит от большего к меньшему, если "asc", то от меньшего к большему. По умолчанию используется "desc".

См. также RANK, RANK_DENSE, RANK_PERCENTILE.

Типы аргументов:

  • valueЛогический | Дата | Дата и время | Дробное число | Целое число | Строка | UUID
  • directionСтрока

Возвращаемый тип: Целое число

Примечание

Значения аргументов (direction) должны быть константами.

Примеры

Пример с двумя аргументами

Исходные данные

DateCityCategoryOrdersProfit
'2019-03-01''London''Office Supplies'8120.80
'2019-03-04''London''Office Supplies'2100.00
'2019-03-05''London''Furniture'1750.00
'2019-03-02''Moscow''Furniture'21250.50
'2019-03-03''Moscow''Office Supplies'485.00
'2019-03-01''San Francisco''Office Supplies'23723.00
'2019-03-01''San Francisco''Furniture'11000.00
'2019-03-03''San Francisco''Furniture'44000.00
'2019-03-02''Detroit''Furniture'53700.00
'2019-03-04''Detroit''Office Supplies'251200.00
'2019-03-04''Detroit''Furniture'23500.00

Группировка по [City].

Сортировка по [City].

Результат

[City]SUM([Orders])RANK_UNIQUE(SUM([Orders]), "desc")RANK_UNIQUE(SUM([Orders]), "asc")
'Detroit'3214
'London'1132
'Moscow'641
'San Francisco'2823
Пример с группировкой

Исходные данные

DateCityCategoryOrdersProfit
'2019-03-01''London''Office Supplies'8120.80
'2019-03-04''London''Office Supplies'2100.00
'2019-03-05''London''Furniture'1750.00
'2019-03-02''Moscow''Furniture'21250.50
'2019-03-03''Moscow''Office Supplies'485.00
'2019-03-01''San Francisco''Office Supplies'23723.00
'2019-03-01''San Francisco''Furniture'11000.00
'2019-03-03''San Francisco''Furniture'44000.00
'2019-03-02''Detroit''Furniture'53700.00
'2019-03-04''Detroit''Office Supplies'251200.00
'2019-03-04''Detroit''Furniture'23500.00

Группировка по [City], [Category].

Сортировка по [City], [Category].

Результат

[City][Category]SUM([Orders])RANK_UNIQUE(SUM([Orders]) TOTAL)RANK_UNIQUE(SUM([Orders]) WITHIN [City])RANK_UNIQUE(SUM([Orders]) AMONG [City])
'Detroit''Furniture'7421
'Detroit''Office Supplies'25111
'London''Furniture'1824
'London''Office Supplies'10313
'Moscow''Furniture'2723
'Moscow''Office Supplies'4614
'San Francisco''Furniture'5522
'San Francisco''Office Supplies'23212

Поддержка источников данных

ClickHouse 21.8, Microsoft SQL Server 2017 (14.0), MySQL 5.7, Oracle Database 12c (12.1), PostgreSQL 9.3.