繁体   English   中英

窗口函数在sql的操作顺序中位于何处?

[英]Where do windowed functions lay in sql's order of operations?

我正在寻找窗口函数在sql中发生的时间。 我知道它们可以在SELECTORDER BY子句中使用,所以我倾向于认为它们发生在ORDER BY ,但在TOP之前

当优化程序决定应该发生窗口功能时,就会发生窗口功能。 最好看一下查询计划。

SQL Server公布查询的逻辑处理 这用于解释作用域规则(尤其是)。 它与查询的实际执行方式无关。

显然,窗口函数的规则是:

  • 效果是处理FROMWHEREGROUP BYHAVING子句之后。
  • 效果与ORDER BY无关(即使您使用order by (select null)) )也是如此。
  • TOP不会影响处理。
  • 该处理在SELECT DISTINCT之前进行。

我认为结论是,它们与这些子句中的其他表达式一样,在SELECTORDER BY中进行了解析。 他们没有单独的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM