窗口函数
# StreamSQL 窗口函数
窗口函数提供窗口相关的信息。
# WINDOW_START - 窗口开始时间
语法: window_start()
描述: 返回当前窗口的开始时间。
增量计算: ✅ 支持
示例:
SELECT device, window_start() as window_begin, avg(temperature) as avg_temp
FROM stream
GROUP BY device, TumblingWindow('10s')
1
2
3
2
3
# WINDOW_END - 窗口结束时间
语法: window_end()
描述: 返回当前窗口的结束时间。
增量计算: ✅ 支持
示例:
SELECT device, window_end() as window_finish, avg(temperature) as avg_temp
FROM stream
GROUP BY device, TumblingWindow('10s')
1
2
3
2
3
# 扩展窗口函数
扩展窗口函数提供更多窗口相关功能。
# ROW_NUMBER - 行号函数
语法: row_number() OVER (ORDER BY col)
描述: 为结果集中的每一行分配一个唯一的行号。
增量计算: ✅ 支持
# FIRST_VALUE - 首值函数
语法: first_value(col) OVER (ORDER BY col)
描述: 返回窗口中第一行的值。
增量计算: ✅ 支持
# LEAD - 前导函数
语法: lead(col, offset, default_value) OVER (ORDER BY col)
描述: 返回当前行之后第N行的值。
增量计算: ✅ 支持
# NTH_VALUE - 第N个值函数
语法: nth_value(col, n) OVER (ORDER BY col)
描述: 返回窗口中第N行的值。
增量计算: ✅ 支持
# 📚 相关文档
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/07/27, 15:17:27