Функции временных окон возвращают включённую нижнюю и исключённую верхнюю границу соответствующего окна.
Ниже перечислены функции для работы с WindowView:
Добавленный в: v21.12.0
Временное hop-окно имеет фиксированную длительность (window_interval) и сдвигается на указанный шаг (hop_interval). Если hop_interval меньше window_interval, такие окна перекрываются. Поэтому одна и та же запись может попасть в несколько окон.
Поскольку одна запись может быть отнесена к нескольким hop-окнам, при использовании функции hop без WINDOW VIEW функция возвращает только границу первого окна.
Синтаксис
hop(time_attr, hop_interval, window_interval[, timezone])
Аргументы
time_attr — Дата и время. DateTime
hop_interval — Положительный интервал hop. Interval
window_interval — Положительный интервал window. Interval
timezone — Необязательно. Имя часового пояса. String
Возвращаемое значение
Возвращает включённую нижнюю и исключённую верхнюю границы соответствующего hopping-окна. Tuple(DateTime, DateTime)
Примеры
Hopping window
SELECT hop(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
('2024-07-03 00:00:00','2024-07-05 00:00:00')
Добавленный в: v22.1.0
Возвращает невключающую верхнюю границу соответствующего hopping-окна.
Поскольку одна запись может относиться к нескольким hop-окнам, функция возвращает только границу первого окна, если функция hop используется без WINDOW VIEW.
Синтаксис
hopEnd(time_attr, hop_interval, window_interval[, timezone])
Аргументы
time_attr — Дата и время. DateTime
hop_interval — Положительный интервал Hop. Interval
window_interval — Положительный интервал Window. Interval
timezone — Необязательно. Имя часового пояса. String
Возвращаемое значение
Возвращает верхнюю границу соответствующего hopping-окна, не включаемую в интервал. DateTime
Примеры
Конец hopping-окна
SELECT hopEnd(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
Добавленный в: v22.1.0
Возвращает включённую нижнюю границу соответствующего hopping-окна.
Поскольку одна запись может быть отнесена к нескольким hop-окнам, при использовании функции hop без WINDOW VIEW функция возвращает границу только первого окна.
Синтаксис
hopStart(time_attr, hop_interval, window_interval[, timezone])
Аргументы
time_attr — Дата и время. DateTime
hop_interval — Положительный интервал шага. Interval
window_interval — Положительный интервал окна. Interval
timezone — Необязательно. Имя часового пояса. String
Возвращаемое значение
Возвращает нижнюю границу соответствующего hopping-окна (включительно). DateTime
Примеры
Начало hopping-окна
SELECT hopStart(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
Добавленный в: v21.12.0
Временное неперекрывающееся окно распределяет записи по неперекрывающимся последовательным окнам фиксированной длительности (interval).
Синтаксис
tumble(time_attr, interval[, timezone])
Аргументы
time_attr — Дата и время. DateTime
interval — Интервал окна, заданный типом Interval. Interval
timezone — Необязательно. Имя часового пояса. String
Возвращаемое значение
Возвращает нижнюю границу (включительно) и верхнюю границу (исключая) соответствующего неперекрывающегося окна. Tuple(DateTime, DateTime)
Примеры
Неперекрывающееся окно
SELECT tumble(now(), toIntervalDay('1'))
('2024-07-04 00:00:00','2024-07-05 00:00:00')
Добавленный в: v22.1.0
Возвращает верхнюю границу соответствующего неперекрывающегося окна, не включая её.
Синтаксис
tumbleEnd(time_attr, interval[, timezone])
Аргументы
time_attr — Дата и время. DateTime
interval — Интервал окна типа Interval. Interval
timezone — Необязательно. Имя часового пояса. String
Возвращаемое значение
Возвращает верхнюю границу соответствующего неперекрывающегося окна, не включая её. DateTime
Примеры
Конец неперекрывающегося окна
SELECT tumbleEnd(now(), toIntervalDay('1'))
Добавленный в: v22.1.0
Возвращает нижнюю границу соответствующего неперекрывающегося окна (включительно).
Синтаксис
tumbleStart(time_attr, interval[, timezone])
Аргументы
time_attr — Дата и время. DateTime
interval — Интервал окна типа Interval. Interval
timezone — Необязательно. Имя часового пояса. String
Возвращаемое значение
Возвращает нижнюю границу (включительно) соответствующего неперекрывающегося окна. DateTime
Примеры
Начало неперекрывающегося окна
SELECT tumbleStart(now(), toIntervalDay('1'))
Добавленный в: v22.1.0
Возвращает идентификатор соответствующего неперекрывающегося окна или hopping-окна.
Эту функцию можно использовать только с WINDOW VIEW.
Синтаксис
windowID(time_attr, interval[, timezone])
Аргументы
time_attr — Дата и время. DateTime
interval — Интервал окна, тип Interval. Interval
timezone — Необязательно. Название часового пояса. String
Возвращаемое значение
Возвращает идентификатор соответствующего окна. UInt32
Примеры
Идентификатор окна
SELECT windowID(now(), toIntervalDay('1'))
Последнее изменение 10 июня 2026 г.