问题标签 [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.
sql - 根据选定列中的相同值向行添加数字
我有一个 PostgreSQL 数据库,其中包含由几个司法管辖区编写的交通票。
一些司法管辖区没有说明是否在一个交通站写了多张票。但是,这可以通过分析其他领域来推断。考虑以下数据:
我可以推断:
- 票 1 和 2 写在一个交通站,因为它们共享驾驶执照号码和时间戳。
- 5 和 7 相同,但请注意票 6 在它们之间的位置。也许另一名官员同时在其他地方写了一张罚单,或者数据输入操作员输入了乱序的东西。
我想为每个交通站点添加另一个具有唯一 ID 的列。它不会是表的主键,因为它会有重复的值。例如:
我可以想到使用 C# 执行此操作的计算密集型、贪心算法的方法,但是是否有一个有效的 SQL 查询可以工作?
sql - TOP n WITH TIES 的 PostgreSQL 等效项:限制“与关系”?
我在 SQL Server 中寻找类似的东西:
我知道LIMIT
在 PostgreSQL 中,但是否存在上述等价物?我只是好奇,因为它每次都会为我节省一个额外的查询。
如果我有一个Numbers
带有属性的表nums
: {10, 9, 8, 8, 2}
。我想做类似的事情:
它应该返回{10, 9, 8, 8}
,因为它需要前 3 名加上额外的8
,因为它与另一个并列。
sql - 获取列中具有前 2 个值之一的所有行
我有一个包含多个条目的表,并且我根据销售标准对其进行了排序。所以,如果条目是这样的:
我想提取销售额最高和第二高的商品。因此,我想提取a
,b
和c
.
PostgreSQL中是否有任何功能可以帮助解决这个问题?
postgresql - PostgreSQL:根据排序顺序选择最近的行
我有一张这样的桌子:
我想找到一个特定的行 -1.3293 | 7876543213
例如 - 并选择最近的 4 行。2 上,2 下,如果可能的话。
排序顺序为 ORDER BY a ASC
。
在这种情况下,我会得到:
如何使用 PostgreSQL 实现这一点?(顺便说一句,我正在使用 PHP。)
PS:对于最后一行或第一行,最近的行将是上方 4 或下方 4。
sql - 如何使用 OVER 和 ORDER BY
我无法理解这段代码的错误。
代码:
错误:
消息 102,第 15 级,状态 1,第 3 行
'order' 附近的语法不正确。
mysql - MySQL 用于平均缺失日期
我正在寻找通过平均该行之前和之后最近的 id 的日期来更新该date
列所在的行。NULL
在下面的数据中,它会将 ID 行更新26
为2011-10-19
什么 MySQL 语句会完成这个?
补充说明:
数据看起来像这样:
我宁愿不使用程序。
到目前为止,我已经...
mysql - MySQL 日期时间与前一行的比较
我有一个包含两个日期列的表。DATE1 有时为 NULL,有时包含重复值。DATE2 始终填充且唯一。我的表格按最新的 DATE2 日期排序。
我想创建一个新的日期列,其中将选择 DATE1,除非它的值与下一行重复或者它为 NULL。在这种情况下,我想取 DATE2 的值。我还需要两个布尔列来告诉我什么时候满足这些条件。让我用一个例子来演示一下,这样就更清楚了。
在下表中,第 5 行和第 6 行的值为2011 年 7 月 27 日,因此我想将第 5 行的新日期列设置为2011 年 8 月 4 日(即 DATE2)。在第 3 行中,DATE1 的值为 NULL,所以我想取 DATE2 的值。
我尝试了一些内部选择语句,但无法使其正常工作。有任何想法吗?
我的表目前在数据库中:
我期望最终结果如下所示:
非常感谢!
sql - 如何计算 Indivisual 客户下的订单?
我有桌子
customerid是外键。
我需要计算单个客户下的订单,其中包含公司名称,尤其是输出中的所有字段。
postgresql - PostgreSQL 检查先前记录的元素
我需要检查上一条记录的元素,以确保我查询的日期不在结束日期和开始日期前 7 天之间的特定范围内。我有以下代码:
所以基本上,我需要检查以下内容:
如果查询日期在开始日期和结束日期之间
如果查询日期是开始日期开始前 7 天
如果查询日期在结束日期和开始日期之间,则返回与该日期关联的 id。
在大多数情况下,我的函数似乎工作正常,但有些情况似乎给了我 0 个结果(当应该总是有 1 个结果时)我的函数中是否缺少某些东西?我对最后一个 if 语句持怀疑态度。也就是说,尝试从以前的记录结束日期检查到当前记录的开始日期(间隔 7 天)
编辑:没有日期重叠。
sql - 包含字段中值的连接、分组和计数的 SQL 视图
我们的目标是最终获得一个视图,显示每种类型和专业组合的 50 个最常见的程序代码。(特殊代码可以在不同类型中重复)
我有两张桌子:
表providers
包含:
provider_type
provider_specialty
provider_id
(以及一些与此问题无关的数据)
表services
包含:
provider_id
procedure_code
(和其他一些数据点 - 不相关)
最终结果将类似于:
有任何想法吗?我知道这是一个超级复杂的查询,我考虑过构建一个脚本来执行更新周期,但我宁愿拥有更多的实时数据。