【发布时间】:2018-09-19 01:29:05
【问题描述】:
UNBOUNDED PRECEDING 适用于:SQL Server 2012 (11.x) 至 SQL 服务器 2017。
指定窗口从分区的第一行开始。 UNBOUNDED PRECEDING 只能指定为窗口起点。
那么,当使用这个时:
avg(Qty) over (partition by [Name]
ORDER BY [Period] desc ROWS BETWEEN UNBOUNDED PRECEDING AND 2 FOLLOWING)
我仍然得到滚动平均值。
我知道上述构造应该让我相当于Select TOP(3) avg(qty)...,至少根据文档。
我错过了什么吗?
【问题讨论】:
-
请发布一些示例数据和预期结果。请参阅How to Ask 和minimal reproducible example 了解更多详情。
-
您希望它给您
TOP(3),但您已经明确表示“给我尽可能多的行”(又名UNBOUNDED)? -
@Damien_The_Unbeliever - 指定窗口从分区的第一行开始。 UNBOUNDED PRECEDING 只能指定为窗口起点。除非我以非常非常错误的方式解析它,否则引用并没有说明你所说的内容。
标签: sql-server sql-server-2012 window-functions