tsql window 函数中的 "window descriptor" 是什么
what is a "window descriptor" in tsql window function
我目前正在按照 Ben Itzik 的书 tsql fundamental
学习 tsql window 函数。
在用 window 函数解释什么是 window
的部分中,作者使用了术语 window descriptor
谁能给我解释一下 window descriptor
的意思和代表什么?
正如上面写的很清楚,window 函数是一个函数,它将根据描述的公式或来自 over() 子句的计算进行操作,并在处理每一行后给出标量结果所选 window(行集)。因此,Window Descriptor 表示它指定了如何在 window 函数中选择 window 行。
"window descriptor"是以ROWS BETWEEN
或RANGE BETWEEN
开始的部分。
在 window 函数的许多使用中,这是隐含的。所以:
select sum(x) over (order by y)
确实是 shorthand 用于:
select sum(x) over (order by y rows between unbounded preceding and current row)
(或者是 range between
;)。
并且:
select sum(x) over ()
是以下的简写:
select sum(x) over (rows between unbounded preceding and unbounded following)
我目前正在按照 Ben Itzik 的书 tsql fundamental
学习 tsql window 函数。
在用 window 函数解释什么是 window
的部分中,作者使用了术语 window descriptor
谁能给我解释一下 window descriptor
的意思和代表什么?
正如上面写的很清楚,window 函数是一个函数,它将根据描述的公式或来自 over() 子句的计算进行操作,并在处理每一行后给出标量结果所选 window(行集)。因此,Window Descriptor 表示它指定了如何在 window 函数中选择 window 行。
"window descriptor"是以ROWS BETWEEN
或RANGE BETWEEN
开始的部分。
在 window 函数的许多使用中,这是隐含的。所以:
select sum(x) over (order by y)
确实是 shorthand 用于:
select sum(x) over (order by y rows between unbounded preceding and current row)
(或者是 range between
;)。
并且:
select sum(x) over ()
是以下的简写:
select sum(x) over (rows between unbounded preceding and unbounded following)