Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
窗口函数在sql';什么是行动顺序?_Sql_Sql Server - Fatal编程技术网

窗口函数在sql';什么是行动顺序?

窗口函数在sql';什么是行动顺序?,sql,sql-server,Sql,Sql Server,我在寻找在sql中窗口函数发生的时间点。 我知道它们可以在SELECT和orderby子句中使用,所以我倾向于认为它们发生在orderby之后,但在优化器决定应该发生时,在TOP窗口函数发生之前。最好通过查看查询计划来理解这一点 这用于解释范围规则(尤其是)它与查询的实际执行方式无关。 显然,窗口功能的规则是: 在处理FROM、WHERE、groupby和HAVING子句之后,会产生影响 该效果与排序依据无关(即使使用了排序依据(选择null))) TOP不影响处理 处理发生在选择DISTIN

我在寻找在sql中窗口函数发生的时间点。
我知道它们可以在
SELECT
orderby
子句中使用,所以我倾向于认为它们发生在
orderby
之后,但在优化器决定应该发生时,在
TOP
窗口函数发生之前。最好通过查看查询计划来理解这一点

这用于解释范围规则(尤其是)它与查询的实际执行方式无关。

显然,窗口功能的规则是:

  • 在处理
    FROM
    WHERE
    groupby
    HAVING
    子句之后,会产生影响
  • 该效果与排序依据无关(即使使用了排序依据(选择null)))
  • TOP
    不影响处理
  • 处理发生在
    选择DISTINCT
    之前

我认为结论是它们在
SELECT
orderby
中被解析,就像这些子句中的其他表达式一样。它们没有单独的位置。

您看过查询执行计划了吗?用您正在使用的数据库标记您的问题。