时间窗口函数返回对应窗口的下界 (包含) 和上界 (不包含) 。 下面列出了用于 WindowView 的相关函数:
hop
引入版本:v21.12.0
跳跃时间窗口具有固定的窗口时长 (window_interval) ,并按指定的跳跃间隔 (hop_interval) 滑动。如果 hop_interval 小于 window_interval,则跳跃窗口会相互重叠。因此,记录可能会被分配到多个窗口。
由于一条记录可能会被分配到多个 hop 窗口,因此在不使用 WINDOW VIEW 时,hop 函数仅返回第一个窗口的边界。
语法
hop(time_attr, hop_interval, window_interval[, timezone])参数
time_attr— 日期和时间。DateTimehop_interval— 正的 Hop 间隔。Intervalwindow_interval— 正的窗口时间间隔。Intervaltimezone— 可选。时区名称。String
返回值
返回对应跳跃窗口的下界 (含) 和上界 (不含) 。Tuple(DateTime, DateTime)
示例
跳跃窗口
SELECT hop(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)('2026-01-01 00:00:00','2026-01-03 00:00:00')hopEnd
引入版本:v22.1.0
返回对应跳跃窗口的上界 (不包含) 。
由于一条记录可能会被分配到多个 hop 窗口,因此在未使用 WINDOW VIEW 的情况下使用 hop 函数时,该函数仅返回第一个窗口的边界。
语法
hopEnd(time_attr, hop_interval, window_interval[, timezone])参数
time_attr— 日期和时间。DateTimehop_interval— 正的 Hop 间隔。Intervalwindow_interval— 正的窗口时间间隔。Intervaltimezone— 可选。时区名称。String
返回值
返回对应跳跃窗口的上界 (不包含) 。DateTime
示例
跳跃窗口 结束时间
SELECT hopEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)2026-01-03 00:00:00hopStart
引入版本:v22.1.0
返回对应跳跃窗口的下界 (包含) 。
由于一条记录可能会被分配到多个 hop 窗口,因此在未结合 WINDOW VIEW 使用 hop 函数时,该函数只返回第一个窗口的边界。
语法
hopStart(time_attr, hop_interval, window_interval[, timezone])参数
time_attr— 日期和时间。DateTimehop_interval— 正的 Hop 间隔。Intervalwindow_interval— 正的窗口时间间隔。Intervaltimezone— 可选。时区名称。String
返回值
返回对应跳跃窗口的下界 (包含) 。DateTime
示例
跳跃窗口起始时间
SELECT hopStart(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)2026-01-01 00:00:00tumble
引入版本:v21.12.0
滚动时间窗口会将记录分配到持续时间固定 (interval) 、连续且互不重叠的窗口中。
语法
tumble(time_attr, interval[, timezone])参数
返回值
返回对应滚动窗口的下界 (包含) 和上界 (不包含) 。Tuple(DateTime, DateTime)
示例
滚动窗口
SELECT tumble(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))('2026-01-02 00:00:00','2026-01-03 00:00:00')tumbleEnd
于以下版本引入:v22.1.0
返回相应滚动窗口的上界 (不包含) 。
语法
tumbleEnd(time_attr, interval[, timezone])参数
返回值
返回对应滚动窗口的上界 (不包含) 。DateTime
示例
滚动窗口结束
SELECT tumbleEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))2026-01-03 00:00:00tumbleStart
引入版本:v22.1.0
返回对应滚动窗口的下界 (包含) 。
语法
tumbleStart(time_attr, interval[, timezone])参数
返回值
返回对应滚动窗口的下界 (包含) 。DateTime
示例
滚动窗口起始
SELECT tumbleStart(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))2026-01-02 00:00:00windowID
Introduced in:v22.1.0
返回对应滚动窗口或跳跃窗口的窗口标识符。
此函数只能与 WINDOW VIEW 配合使用。
语法
windowID(time_attr, interval[, timezone])参数
返回值
返回对应窗口的标识符。UInt32
示例
窗口 ID
SELECT windowID(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))1767398400