MMIN (оконная)

Синтаксис

MMIN( value, rows_1 [ , rows_2 ] )
MMIN( value, rows_1 [ , rows_2 ]      [ TOTAL | WITHIN ... | AMONG ... ]      [ ORDER BY ... ]      [ BEFORE FILTER BY ... ]    )

Подробнее:

Описание

Важно

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

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

rows_1rows_2Окно
положительное-Текущая запись и rows_1 предшествующих.
отрицательное-Текущая запись и -rows_1 последующих.
любой знаклюбой знакrows_1 предшествующих записей, текущая и rows_2 последующих.

Аналогичное поведение у оконных функций MSUM, MCOUNT, MMAX, MAVG.

См. также MIN, RMIN.

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

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

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

Примечание

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

Примеры

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

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

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])MMIN(SUM([Orders]), 1)MMIN(SUM([Orders]), -2)MMIN(SUM([Orders]) 1, 1)
'Detroit'3232611
'London'111166
'Moscow'6666
'San Francisco'286286
Пример с ORDER BY

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

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])MMIN(SUM([Orders]), 1 ORDER BY [City] DESC)MMIN(SUM([Orders]), 1 ORDER BY [Order Sum])
'Detroit'321128
'London'1166
'Moscow'666
'San Francisco'282811
Пример с группировкой

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

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])MMIN(SUM([Orders]), 1 TOTAL ORDER BY [City], [Category])MMIN(SUM([Orders]), 1 WITHIN [City] ORDER BY [Category])MMIN(SUM([Orders]), 1 AMONG [City] ORDER BY [City])
'Detroit''Furniture'7777
'Detroit''Office Supplies'257725
'London''Furniture'1111
'London''Office Supplies'101110
'Moscow''Furniture'2221
'Moscow''Office Supplies'4224
'San Francisco''Furniture'5452
'San Francisco''Office Supplies'23554

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

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

Previous
Next