适用于:
Databricks SQL
Databricks Runtime
指定运行聚合或分析窗口函数的分区中的行的滑动子集。
语法
{ frame_mode frame_start |
frame_mode BETWEEN frame_start AND frame_end } }
frame_mode
{ RANGE | ROWS }
frame_start
{ UNBOUNDED PRECEDING |
offset_start PRECEDING |
CURRENT ROW |
offset_start FOLLOWING }
frame_end
{ offset_stop PRECEDING |
CURRENT ROW |
offset_stop FOLLOWING |
UNBOUNDED FOLLOWING }
参数
frame_mode
ROWS
如果已指定,则滑动窗口框架将以当前行之前或之后的行的形式表示。
RANGE
如果已指定,则窗口函数必须使用单个表达式
obExpr指定 ORDER BY 子句。然后将滑动窗口的边界表示为从当前行的
obExpr算起的偏移量。
frame_start
滑动窗口框架相对于当前行的起始位置。
UNBOUNDED PRECEDING
指定窗口框架从分区的开头位置开始。
offset_start PRECEDING
如果模式为
ROWS,则offset_start是正整数文本数字,用于定义框架从当前行之前的多少行处开始。如果模式为
RANGE,则offset_start是可以从obExpr中减去的正文本类型值。 框架从obExpr大于或等于当前行处的obExpr - offset_start的分区的第一行处开始。CURRENT ROW
指定框架从当前行处开始。
offset_start FOLLOWING
如果模式为
ROWS,则offset_start是正整数文本数字,用于定义帧从当前行之后的多少行处开始。 如果模式为RANGE,则offset_start是可以与obExpr相加的正文本类型值。 框架从obExpr大于或等于当前行处的obExpr + offset_start的分区的第一行处开始。
frame_stop
滑动窗口框架相对于当前行的结束位置。
如果未指定,则框架将在当前行处停止。 滑动窗口的结束位置必须大于窗口框架的开始位置。
offset_start PRECEDING
如果 frame_mode 为
ROWS,则offset_stop是正整数文本数字,用于定义框架在当前行之前的多少行处停止。 如果 frame_mode 为RANGE,则offset_stop是与offset_start类型相同的正文本值。 框架在obExpr小于或等于当前行处的obExpr - offset_stop的分区的最后一行处结束。CURRENT ROW
指定框架在当前行处停止。
offsetStop FOLLOWING
如果 frame_mode 为
ROWS,则offset_stop是正整数文本数字,用于定义框架在当前行之后的多少行处结束。 如果 frame_mode 为RANGE,则offset_stop是与offset_start类型相同的正文本值。 框架在obExpr小于或等于当前行处的obExpr + offset_stop的分区的最后一行处结束。UNBOUNDED FOLLOWING
指定窗口框架在分区的末尾处停止。