Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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_Tsql - Fatal编程技术网

SQL中的窗口函数:为什么称为窗口函数?

SQL中的窗口函数:为什么称为窗口函数?,sql,sql-server,tsql,Sql,Sql Server,Tsql,我理解窗口函数,但不理解为什么它们被称为窗口函数。当我们说窗口是分区还是ORDERBY子句时?窗口函数对OVER子句定义的一系列行进行操作。就像你透过窗户看,你看到了天空,星星,月亮。你看到的不是整个天空,而是部分天空 我在simple talk网站上看到了这个漂亮的窗口功能定义。为了更清楚,我在下面复制 窗口化或窗口化函数也可以执行计算 在一组行上。我喜欢想到“透过窗户看” 正在返回并有最后一次机会执行的行 算计。窗口由OVER子句定义,OVER子句 确定行是否划分为较小的集合,以及 我们已经

我理解窗口函数,但不理解为什么它们被称为窗口函数。当我们说窗口是分区还是ORDERBY子句时?

窗口函数对OVER子句定义的一系列行进行操作。就像你透过窗户看,你看到了天空,星星,月亮。你看到的不是整个天空,而是部分天空

我在simple talk网站上看到了这个漂亮的窗口功能定义。为了更清楚,我在下面复制

窗口化或窗口化函数也可以执行计算 在一组行上。我喜欢想到“透过窗户看” 正在返回并有最后一次机会执行的行 算计。窗口由OVER子句定义,OVER子句 确定行是否划分为较小的集合,以及 我们已经订好了。事实上,如果您使用窗口函数,您将始终使用 过度条款。OVER子句也是的下一个值的一部分 sequence对象所需的语法,但在其他情况下,它与 窗口功能

OVER子句可以包含一个按选项划分的部分。这打破了传统 将行分成更小的集合。你可能会认为这和团体是一样的 是的,但不是。分组时,每个唯一组返回一行。 使用“分区依据”时,所有详细信息行都会返回 与计算结果一致。如果你家里有一扇窗户 分为多个窗格,每个窗格都是一个窗口。当想到窗户的时候 函数时,整个结果集是一个分区,但使用 分区,每个分区也可以被视为一个窗口。 所有窗口都支持分区方式(可选) 功能

OVER条款还可以包含“按选项订购”。这是 独立于查询的ORDERBY子句。一些功能 需要订购,其他人不支持。什么时候下单 在应用计算时,行的顺序很重要,按 是必需的

窗口函数只能在SELECT和ORDER BY子句中使用 一个问题的答案。它们在任何连接、过滤或删除后应用 分组


因为它们是在一个窗口框架上操作的——一组相对于当前行的行,可以使用rows或RANGE关键字更精确地指定这些行。另外,我可以在哪里发布这样的问题而不被否决?如果您对RDBMS的工作原理有疑问,您最好使用它。@David。这是一个窗口函数。通过其他方法可以得到相同的结果并不重要。还要注意,行/范围是可选的,通常使用默认窗口框架。定义语法结束了。在我看来,这是一个很好的问题。这个术语似乎是从@David那里借用来的。我不知道这两个概念有什么区别。窗口函数只是可以在选择查询和其他一些查询中使用的另一个函数。