将聚合函数与窗口函数一起使用时。即:
...
avg(x) over (partition by y order by z)
...
什么是窗口函数,什么是聚合函数?在我看来,avg(x)
是聚合函数,并且根据窗口函数将其应用于“窗口式”行集。
即在我看来,就术语而言,聚合函数是avg()
,窗口函数是over
。
使用术语准确吗?如果是这样,由于它们需要指定一个窗口,因此引用row_number()
和诸如聚合函数之类的函数仍然正确吗?
此SQL Server错误实际上表明所有聚合函数都允许使用作为窗口函数的子句:
函数“ ROW_NUMBER”必须具有OVER子句。
这是引用窗口函数的更正确方法(作为聚合函数的允许子句-即扩展名)吗?