问题标签 [window-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
46168 浏览

php - 在应用 LIMIT 之前获取结果计数的最佳方法

在对来自 DB 的数据进行分页时,您需要知道将有多少页面来呈现页面跳转控件。

目前,我通过运行两次查询来做到这一点,一次包裹在 acount()中以确定总结果,第二次使用限制来获取当前页面所需的结果。

这似乎效率低下。有没有更好的方法来确定在应用之前会返回多少结果LIMIT

我正在使用 PHP 和 Postgres。

0 投票
7 回答
50652 浏览

mysql - 如何在 MySQL 中进行分组排名

所以我有一个如下表:

然后我需要对它们进行分组、排序和排序,以提供:

现在我知道您可以使用临时变量进行排名,就像这里一样,但是我该如何为分组集呢?感谢您的任何见解!

0 投票
6 回答
542812 浏览

sql - Oracle“分区依据”关键字

有人可以解释一下partition by关键字的作用并给出一个简单的例子,以及为什么要使用它?我有一个由其他人编写的 SQL 查询,我正试图弄清楚它的作用。

分区示例:

我在网上看到的例子似乎有点太深入了。

0 投票
4 回答
156461 浏览

sql - Oracle 中的 OVER 子句

Oracle中的OVER子句是什么意思?

0 投票
2 回答
23921 浏览

sql - 在同一分区上应用多个窗口函数

是否可以将多个窗口功能应用于同一个分区?(如果我没有使用正确的词汇,请纠正我)

例如你可以做

但是有没有办法做类似的事情:

我们在哪里将两个函数应用到同一个窗口?

参考: http: //postgresql.ro/docs/8.4/static/tutorial-window.html

0 投票
2 回答
20893 浏览

sql - DB2 count(*) over(partition by fieldname) 给出 -104 z/OS 版本 7

我已经精简了查询以消除潜在的复杂性,此外我已经验证了这些字段是正确的。DB2 UDB zSeries V7 是我的 db2 版本。

我也尝试过子查询。

收到的错误是 om.ibm.db2.jcc.b.SqlException: DB2 SQL 错误: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: (;, FROM INTO sqlcode sqlstate -104 Illegal Symbol token. 42601 A character, token , or 子句无效或缺失。

有什么建议吗?我一直无法确定我可能会犯什么语法错误。

0 投票
13 回答
707250 浏览

sql-server - SQL Server:PARTITION BY 和 GROUP BY 之间的区别

多年来,我一直在使用GROUP BY所有类型的聚合查询。最近,我一直在对一些PARTITION BY用于执行聚合的代码进行逆向工程。在阅读我能找到的所有文档时PARTITION BY,听起来很像GROUP BY,也许添加了一些额外的功能?它们是相同通用功能的两个版本,还是完全不同的东西?

0 投票
12 回答
365345 浏览

sql - 我可以在 SQL 中执行 max(count(*)) 吗?

这是我的代码:

这是问题:

这是“约翰特拉沃尔塔”最忙碌的几年。显示他每年制作的电影数量。

这是表结构:

这是我得到的输出:

我需要获取count(*)最大的行。我该怎么做呢?

0 投票
2 回答
3354 浏览

mysql - 在 MySQL 中对结果进行排名时如何处理平局?

在 mysql 查询中对结果进行排名时如何处理关系?我在这个例子中简化了表名和列,但它应该能说明我的问题:

所以想象上面的查询产生:

尽管艾尔和艾米的成绩相同,但其中一个的排名高于另一个。艾米被骗了。我怎样才能使 Amy 和 Al 具有相同的排名,使他们都有 1 的排名。另外,William 和 Mary 没有参加测试。他们打包上课,在男孩的房间里抽烟。他们应该并列最后一名。

正确的排名应该是:

如果有人有任何建议,请告诉我。

0 投票
3 回答
1104 浏览

sql - 当行中的时间戳小于或等于某个值时,使用分析函数对一组记录进行分组

我在 Oracle 数据库中有一个表,其中包含一个 DATE 列,该列加载了每行的插入时间戳。我需要使用此类表中的现有数据来分析某些事件之间的相关性,以便使用这样的数据:

我想与这样的事情相关联,假设相关记录在当前和下一个“TS”之间的最大差异为 5 分钟之间:

是否可以使用分析函数来实现这一点?如何?