问题标签 [generate-series]

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 投票
1 回答
163 浏览

sql - 按升序将数据插入空单元格

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

我需要生成一个第三个表tb3,该表将time_now包含增量步长为 10 分钟的列。如果tb1.time不等于tb3.time_nowb2.name填充。如果tb1.time等于(或接近time_now),则将其插入tb3
例子:

tb1

tb2

第三张表应如下所示:

如何做到这一点?

0 投票
2 回答
166 浏览

sql - 将具有模糊时间数据的行连接到常规时隙

我有如下所示的 PostgreSQL 表:

通过以下查询,我正在创建带有 row_id 的表,时间从 09:00 开始,每 10 分钟递增一次

加入后,我有一个新表,其中包含表 tb1 中的行,但前提是 tb1 中的时间与 '09:00'::time + '10 min'::interval * (g-1) AS 时间生成的时间相同。

如何实现将来自 tb1 的所有行“插入”到生成的表中。如果生成的时间与 tb1 的时间相同,则不应发生重复。

0 投票
1 回答
1888 浏览

sql - 使用 generate_series 选择过去 18 个月的总和和运行余额

我有这个工作查询,但我需要将所有月份添加到我的结果中,无论该月内售出的物品是否:

这给了我这样的东西:

但我也想显示月份2014-JAN2014-MAR以便我的图表更好地按时间缩放。

我知道如何进行generate_series(start_date, end_date, '1 month')间隔,但我不太明白如何将这个系列加入到上面的结果集中。

我接受了第一个答案,但经过 2 周的测试,发现了一个问题。左加入系列,然后添加一个合并以显示 0 而不是空月份的空值,这会导致运行平衡出现问题。

结果查询:

我得到的结果:

但我想要:

表定义

每月只有一行,因为我也按年、月进行分组。如您所见,该视图具有年、季度、月、周、日列,以便于报告。

要为此获取工作数据,如果需要,我可以这样做,但需要手动创建它。我已经简化了表格并省略了所有约束和一些列。

0 投票
3 回答
20415 浏览

sql - 从表中的开始日期和结束日期在 Postgres 中生成系列

我一直在尝试在时间戳字段中从第一个日期到最后一个日期生成一系列日期(YYYY-MM-DD HH)。我有generate_series()我需要的,但是在尝试从表格中获取开始日期和结束日期时遇到了问题。我有以下粗略的想法:

Postgres 9.3

0 投票
2 回答
76 浏览

sql - 根据系列中的连接行插入表行

两个表,“用户”和“轨道”,我想为每个还没有的轨道创建一个用户(用户 ID = 0)。

我们没有用户所需的唯一电子邮件,因此旨在使用 generate_series 创建虚拟电子邮件:

当然得到错误:

我可以使用两个 SQL 调用并让父代码 (Python) 执行循环,但我想正确的方法就是在 SQL 语句中。

那么如何使插入语句通过选择“循环”呢?

预期输出:

0 投票
1 回答
611 浏览

sql - 如何在 PostgreSQL 中设置实体

使用 Postgres 9.3,我发现我可以执行以下操作:

但我不能这样做:

我可以以某种方式将 SELECT result 转换setof int为与 result from 相同的使用generate_series()吗?

究竟发生了什么,为什么我可以使用函数的结果而不是函数的结果SELECT

0 投票
4 回答
2457 浏览

sql - 获取每天创建的条目数

假设我有一个这样的搜索查询:

如您所知,例如,我得到这样的结果:

但是我没有得到一周中没有创建条目的日子。

我怎样才能得到一个看起来像这样的搜索结果,包括没有创建条目的日子?

0 投票
2 回答
1083 浏览

sql - 如何使用 Postgres 仅使用一条语句返回两列之间的一系列日期?

我有下表:

此表可以包含以start_date等于 的活动end_date和以不同于 的日期结束的其他活动start_date

我要做的是构建一个 SQL 查询,该查询将返回两个日期之间有一些活动的所有日期。

例如:

  • Activity 1: start_date: 2015-04-15, end_date: 2015-04-15
  • Activity 2: start_date: 2015-04-16, end_date: 2015-04-18

查询将收到两个参数:start_dateend_date,例如:

  • start_date: 2015-04-01
  • end_date: 2015-04-30

并且执行将返回在这两个日期之间有活动的所有日期。在上面的示例中,结果将是:

  • 2015-04-15
  • 2015-04-16
  • 2015-04-17
  • 2015-04-18

该应用程序是使用 Ruby on Rails 编写的,数据库位于 Postgres 中。这可以使用 Ruby 代码解决,但出于性能原因,我不想这样做。

如何在 Postgres 中仅使用一条 SQL 语句来实现此查询?我认为generate_seriesPostgres 功能可以帮助解决这个问题,但是如何解决呢?

0 投票
2 回答
1679 浏览

sql - 将日期范围更改为具有离散日期的新行

我有一个包含name, location,start_date和的表end_date。我希望将这些包含日期范围的行转换为离散日期的行,同时保持相应的行信息完整。

例子:

变成:

我想我需要使用 PostgreSQL 函数将其创建为一个新表。

0 投票
1 回答
356 浏览

sql - 如何在 Postgres 中获取过去 12 周的发票数量

发票数据库包含发票日期:

仪表板需要逗号分隔的列表,其中包含过去 12 周的发票数量,eq

4,8,0,6,7,6,0,6,0,4,5,6

列表始终包含 12 个元素。如果在 7 天的时间间隔内没有发票,则应显示 0。每个元素都应包含 7 天的发票数量。

查询应该找到当前日期之前的最大日期:

之后可能使用 count(*) 和 string_agg() 创建列表。

最后(第 12 个)元素应包含发票数量

11 元素(前一个)应包含天数的发票

等等

如何在 Postgres 9.1+ 中编写此查询?这是 ASP.NET MVC3 C# 应用程序,如果有帮助,查询的某些部分也可以在 C# 代码中完成。

我结束了