RMAX (оконная)

Синтаксис

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

Подробнее:

Описание

Важно

Сортировка осуществляется на основе полей, перечисленных в области сортировки в чарте и в ORDER BY. При этом сначала берутся поля из ORDER BY.

Возвращает максимальное из значений в рамках окна записей, определяемого порядком сортировки и значением аргумента direction:

direction Окно
"asc" От первой записи до текущей.
"desc" От текущей записи до последней.

По умолчанию используется значение "asc".

Аналогичное поведение у оконных функций RSUM, RCOUNT, RMIN, RAVG.

См. также MAX, MMAX.

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

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

Возвращаемый тип: Совпадает с типом аргументов (value)

Примечание

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

Примеры

Пример с группировкой

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

Date City Category Orders Profit
'2019-03-01' 'London' 'Office Supplies' 8 120.80
'2019-03-04' 'London' 'Office Supplies' 2 100.00
'2019-03-05' 'London' 'Furniture' 1 750.00
'2019-03-02' 'Moscow' 'Furniture' 2 1250.50
'2019-03-03' 'Moscow' 'Office Supplies' 4 85.00
'2019-03-01' 'San Francisco' 'Office Supplies' 23 723.00
'2019-03-01' 'San Francisco' 'Furniture' 1 1000.00
'2019-03-03' 'San Francisco' 'Furniture' 4 4000.00
'2019-03-02' 'Detroit' 'Furniture' 5 3700.00
'2019-03-04' 'Detroit' 'Office Supplies' 25 1200.00
'2019-03-04' 'Detroit' 'Furniture' 2 3500.00

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

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

Формулы:

  • City: [City] ;
  • Category: [Category] ;
  • Order Sum: SUM([Orders]) ;
  • RMAX TOTAL: RMAX(SUM([Orders]) TOTAL) ;
  • RMAX WITHIN: RMAX(SUM([Orders]) WITHIN [City]) ;
  • RMAX AMONG: RMAX(SUM([Orders]) AMONG [City]) .

Результат

City Category Order Sum RMAX TOTAL RMAX WITHIN RMAX AMONG
'Detroit' 'Furniture' 7 7 7 7
'Detroit' 'Office Supplies' 25 25 25 25
'London' 'Furniture' 1 25 1 7
'London' 'Office Supplies' 10 25 10 25
'Moscow' 'Furniture' 2 25 2 7
'Moscow' 'Office Supplies' 4 25 4 25
'San Francisco' 'Furniture' 5 25 5 7
'San Francisco' 'Office Supplies' 23 25 23 25
Пример с ORDER BY

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

Date City Category Orders Profit
'2019-03-01' 'London' 'Office Supplies' 8 120.80
'2019-03-04' 'London' 'Office Supplies' 2 100.00
'2019-03-05' 'London' 'Furniture' 1 750.00
'2019-03-02' 'Moscow' 'Furniture' 2 1250.50
'2019-03-03' 'Moscow' 'Office Supplies' 4 85.00
'2019-03-01' 'San Francisco' 'Office Supplies' 23 723.00
'2019-03-01' 'San Francisco' 'Furniture' 1 1000.00
'2019-03-03' 'San Francisco' 'Furniture' 4 4000.00
'2019-03-02' 'Detroit' 'Furniture' 5 3700.00
'2019-03-04' 'Detroit' 'Office Supplies' 25 1200.00
'2019-03-04' 'Detroit' 'Furniture' 2 3500.00

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

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

Формулы:

  • City: [City] ;
  • Order Sum: SUM([Orders]) ;
  • RMAX 1: RMAX(SUM([Orders]), "desc") ;
  • RMAX 2: RMAX(SUM([Orders]), "asc" ORDER BY [City] DESC) ;
  • RMAX 3: RMAX(SUM([Orders]) ORDER BY [Order Sum]) .

Результат

City Order Sum RMAX 1 RMAX 2 RMAX 3
'Detroit' 32 32 32 32
'London' 11 28 28 11
'Moscow' 6 28 28 6
'San Francisco' 28 28 28 28

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

ClickHouse 21.8, Файлы, Google Sheets, Microsoft SQL Server 2017 (14.0), MySQL 5.7, Oracle Database 12c (12.1), PostgreSQL 9.3, Trino, Яндекс Документы.

Предыдущая
Следующая