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

sql - 根据选定列中的相同值向行添加数字

我有一个 PostgreSQL 数据库,其中包含由几个司法管辖区编写的交通票。

一些司法管辖区没有说明是否在一个交通站写了多张票。但是,这可以通过分析其他领域来推断。考虑以下数据:

我可以推断:

  • 票 1 和 2 写在一个交通站,因为它们共享驾驶执照号码和时间戳。
  • 5 和 7 相同,但请注意票 6 在它们之间的位置。也许另一名官员同时在其他地方写了一张罚单,或者数据输入操作员输入了乱序的东西。

我想为每个交通站点添加另一个具有唯一 ID 的列。它不会是表的主键,因为它会有重复的值。例如:

我可以想到使用 C# 执行此操作的计算密集型、贪心算法的方法,但是是否有一个有效的 SQL 查询可以工作?

0 投票
3 回答
15482 浏览

sql - TOP n WITH TIES 的 PostgreSQL 等效项:限制“与关系”?

我在 SQL Server 中寻找类似的东西:

我知道LIMIT在 PostgreSQL 中,但是否存在上述等价物?我只是好奇,因为它每次都会为我节省一个额外的查询。

如果我有一个Numbers带有属性的表nums: {10, 9, 8, 8, 2}。我想做类似的事情:

它应该返回{10, 9, 8, 8},因为它需要前 3 名加上额外的8,因为它与另一个并列。

0 投票
2 回答
203 浏览

sql - 获取列中具有前 2 个值之一的所有行

我有一个包含多个条目的表,并且我根据销售标准对其进行了排序。所以,如果条目是这样的:

我想提取销售额最高和第二高的商品。因此,我想提取a,bc.
PostgreSQL中是否有任何功能可以帮助解决这个问题?

0 投票
3 回答
1756 浏览

postgresql - PostgreSQL:根据排序顺序选择最近的行

我有一张这样的桌子:

我想找到一个特定的行 -1.3293 | 7876543213例如 - 并选择最近的 4 行。2 上,2 下,如果可能的话。
排序顺序为 ORDER BY a ASC

在这种情况下,我会得到:

如何使用 PostgreSQL 实现这一点?(顺便说一句,我正在使用 PHP。)

PS:对于最后一行或第一行,最近的行将是上方 4 或下方 4。

0 投票
3 回答
7277 浏览

sql - 如何使用 OVER 和 ORDER BY

我无法理解这段代码的错误。

代码:

错误:

消息 102,第 15 级,状态 1,第 3 行

'order' 附近的语法不正确。

0 投票
1 回答
87 浏览

mysql - MySQL 用于平均缺失日期

我正在寻找通过平均该行之前和之后最近的 id 的日期来更新该date列所在的行。NULL

在下面的数据中,它会将 ID 行更新262011-10-19

什么 MySQL 语句会完成这个?


补充说明:

数据看起来像这样:

我宁愿不使用程序。

到目前为止,我已经...

0 投票
1 回答
2735 浏览

mysql - MySQL 日期时间与前一行的比较

我有一个包含两个日期列的表。DATE1 有时为 NULL,有时包含重复值。DATE2 始终填充且唯一。我的表格按最新的 DATE2 日期排序。

我想创建一个新的日期列,其中将选择 DATE1,除非它的值与下一行重复或者它为 NULL。在这种情况下,我想取 DATE2 的值。我还需要两个布尔列来告诉我什么时候满足这些条件。让我用一个例子来演示一下,这样就更清楚了。

在下表中,第 5 行和第 6 行的值为2011 年 7 月 27 日,因此我想将第 5 行的新日期列设置为2011 年 8 月 4 日(即 DATE2)。在第 3 行中,DATE1 的值为 NULL,所以我想取 DATE2 的值。

我尝试了一些内部选择语句,但无法使其正常工作。有任何想法吗?

我的表目前在数据库中:

我期望最终结果如下所示:

非常感谢!

0 投票
4 回答
6543 浏览

sql - 如何计算 Indivisual 客户下的订单?

我有桌子

customerid是外键。

我需要计算单个客户下的订单,其中包含公司名称,尤其是输出中的所有字段。

0 投票
3 回答
908 浏览

postgresql - PostgreSQL 检查先前记录的元素

我需要检查上一条记录的元素,以确保我查询的日期不在结束日期和开始日期前 7 天之间的特定范围内。我有以下代码:

所以基本上,我需要检查以下内容:

  • 如果查询日期在开始日期和结束日期之间

  • 如果查询日期是开始日期开始前 7 天

  • 如果查询日期在结束日期和开始日期之间,则返回与该日期关联的 id。

在大多数情况下,我的函数似乎工作正常,但有些情况似乎给了我 0 个结果(当应该总是有 1 个结果时)我的函数中是否缺少某些东西?我对最后一个 if 语句持怀疑态度。也就是说,尝试从以前的记录结束日期检查到当前记录的开始日期(间隔 7 天)

编辑:没有日期重叠。

0 投票
1 回答
110 浏览

sql - 包含字段中值的连接、分组和计数的 SQL 视图

我们的目标是最终获得一个视图,显示每种类型和专业组合的 50 个最常见的程序代码。(特殊代码可以在不同类型中重复)

我有两张桌子:

providers包含:
provider_type
provider_specialty
provider_id
(以及一些与此问题无关的数据)

services包含:
provider_id
procedure_code
(和其他一些数据点 - 不相关)

最终结果将类似于:

有任何想法吗?我知道这是一个超级复杂的查询,我考虑过构建一个脚本来执行更新周期,但我宁愿拥有更多的实时数据。