SQL Server:窗口函数错误

时间:2015-11-12 02:04:19

标签: sql-server

当我运行下面的查询时(从我创建的名为#Temp_CallHistory的临时表),我得到错误: "功能' ROW_NUMBER'可能没有窗框。"

SELECT  RootCall_Id
    ,   CallID
    ,   CallCode
    ,   CreationDT
    ,   ROW_NUMBER() OVER(PARTITION BY RootCall_Id
                    ORDER BY CreationDT
                    ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS RankOfEvents
FROM #Temp_CallHistory;

但是,如果我运行相同的查询而未指定" ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW",我不会收到错误。

有人知道为什么当我指定"在无限制的预先行和当前行之间行驶时,我会收到此错误"?请注意,当我明确指定默认"在无限制的前置和当前行之间的范围时,我也会收到错误。

1 个答案:

答案 0 :(得分:3)

这是因为ROW_NUMBER是排名函数,不接受RANGE / ROWS参数。您可以在“常规备注”部分中详细了解此here