问题标签 [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 投票
10 回答
4364 浏览

sql - SQL 问题 - 计算最大天数序列

有一张包含访问数据的表格:

我想知道用户连续多少天访问了我们的应用程序。例如:

将返回:

有 5 条记录和两个间隔 - 3 天(4 月 28 日至 30 日)和 2 天(5 月 3 日至 4 日)。

我的问题是如何找到用户连续访问该应用程序的最大天数(示例中为 3 天)。试图在 SQL 文档中找到合适的函数,但没有成功。我错过了什么吗?


UPD: 谢谢你们的回答!实际上,我正在使用 vertica 分析数据库 (http://vertica.com/),但是这是一个非常罕见的解决方案,只有少数人有使用它的经验。虽然它支持 SQL-99 标准。

好吧,大多数解决方案都需要稍作修改。最后我创建了自己的查询版本:

所以现在我们只需要以某种方式加入它们,例如通过行索引。

样本输出:

0 投票
2 回答
6952 浏览

sql - 使用 SQL 按组和排名识别结果

我有一个具有以下结构的表:

我想要做的是以这样一种方式总结这些值,以便我可以识别每个 的区域id,按 排序timestamp。例如,如果我想要第一个area值,它将如下:

如果我想获得第二个area值,id它将如下:

我知道我需要按时间排序,然后确定每个id. 我不太明白如何做到这一点。我尝试做的是以下(没有运行,因为我仍然不清楚如何使用该OVER功能)。

我打算使用rnk=2etc 来获得每个id.

0 投票
3 回答
1591 浏览

postgresql - 窗口函数和更多“本地”聚合

假设我有这张桌子:

最终我想得到:

但我会很高兴得到这个(因为我可以很容易地用 过滤它distinct):

是否可以使用 PostgreSQL 9.1+ 窗口函数来实现这一点?我试图了解是否可以让它k=a在此示例中的第一次和最后一次出现使用单独的分区(按 排序v)。

0 投票
1 回答
2123 浏览

postgresql - 如何在 PostgreSQL 8.3 中执行窗口函数

我已经编写了一个要部署到 heroku 的 Web 应用程序。我使用 PostgreSQL 9.1.2 编写它。但是似乎heroku上的免费共享数据库只有postgres 8.3。他们正在升级到 9。很快就会有一些东西,但在那之前,我的一个 SQL 查询不起作用。这是:

是否可以重写它以在 PostgreSQL 8.3 上工作?

0 投票
1 回答
9228 浏览

mysql - MySQL中带有Order By子句的Rank函数

这个(Oracle)SQL怎么可能:

被翻译成MySQL?

这个问题似乎很相似,但在基本查询的末尾没有 Order By。另外,按分区字段排序是否重要?

0 投票
1 回答
1315 浏览

sql - 如何在跨越一年的日期范围内为每周选择一行?

在我的 postgreSQL 数据库中,我有一个包含日期和价格列的表。(“转换日期”和“价格”)

我想形成一个查询,该查询在跨越一年以上的日期范围内每周选择一行。

从这里的另一个问题/答案,我实现了这个代码,它适用于不到一年的日期范围:

但是,当我将间隔延长超过 50 周时,它仍然只选择最多 12 个月。

如何重新编写此代码以从该范围内的每周选择一个日期/价格?

0 投票
2 回答
3788 浏览

sql - 减去表中同一列的两条记录

我正在使用 PostgreSQL,我想减去同一个表的两条记录并在同一个查询中使用结果。

这是表格:

分数

6
8
9


结果

6
2
1

我想做的事:

最后,我想要这些结果的总和。sum(result)在我的示例中必须为 9。

0 投票
10 回答
626624 浏览

sql - oracle 中的 RANK() 和 DENSE_RANK() 函数有什么区别?

RANK()和功能有什么区别DENSE_RANK()?如何在下表中找出第 n 个薪水emptbl

如果表中有数据nulls,如果我想查出nth工资会怎样?

0 投票
3 回答
7878 浏览

postgresql - 对表格的每 3 行求和

我有以下查询来计算每分钟的所有数据。

我需要做的是得到每行的计数与过去 2 分钟的计数的总和。

0 投票
1 回答
117 浏览

postgresql - 为 Heroku 重写 PostgreSQL 查询

请帮我重写它,以便它可以在 PostgreSQL (8.3.11) 不理解over关键字的 Heroku 上运行。

“user_id”和“con_size_id”来自“cons”表,“hspeed”来自“summaries”。