假设我创建了一个窗口函数并指定:
ROWS BETWEEN 10 PRECEDING AND CURRENT ROW
窗口函数如何处理前9行?它是否只计算上面有多少行可用?
我在SQL Server的文档中找不到这个文档,但我可以在Postgres中找到它,我相信它是标准化的1:
在任何情况下,到帧末端的距离都受到到分区末端的距离的限制,因此对于分区末端附近的行,帧中包含的行可能比其他地方少
(我的强调(
1也搜索MySQL文档,但没有结果;这个Q只是标记为sql,所以应该基于标准,但我目前也找不到任何可下载的草稿。
它为给定的分区窗口进行计算,考虑到当前行和当前行之前的10行。例如,如果您想根据过去3年和当前年来求和一个数字,您可以对3 PREEDING和current row之间的行(按年份升序(求和(金额(。
回答你的问题";它是否只计算上面有多少行可用"-是的,它只考虑那些可用的行