问题标签 [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.
sql - 从单个查询返回指定范围内的日期列表
我正在尝试获取范围内的日期列表,类似于 PostgreSQL 中的命令 NOW(),唯一now()
的区别是,仅返回当前日期。
如果我按如下方式执行它,我将获得:
或者例如,我可以这样做:
结果是昨天
我需要的是一个可以返回给定范围内每个日期的列表的查询,所以如果我提供 2013-09-20 和 2013-09-27 (我对小时也不感兴趣,只有日期)我想获得如下输出:
关于如何实现这一目标的任何想法?优先选择不使用存储过程或函数,除非没有其他方法...
sql - 根据另一个表中的数字在一个表中插入多行
我第一次在 MacOSX 上使用 Postgres 9.3 创建数据库。
假设我有桌子A
和B
. A
开始是空B
的和充满的。我希望表中列all_names
中的条目数B
等于下表number
中每个names
表中的条目数。因此应该包含来自的每个唯一条目及其计数。我还不习惯语法,所以我真的不知道该怎么做。该列是多余的。A
B
names
all_names
number
birthday
桌子A
桌子B
这是正确的方法吗?
postgresql - 带有过程代码的 Postgres 语句中的语法错误
我试图制作一个基本的 for 循环示例。找不到我做错了什么。你能帮忙吗:
[错误] 2.0-2:语法错误,意外字符
mysql - 在 MySQL 中生成等效系列
我有这样的查询
结果
我想生成这样的结果
我已经在 postgresql 中使用这样的联合执行此操作
我怎么能用 MYSQL 做到这一点?
sql - Postgres 中的时间序列查询
这是@Erwin 对 Postgres 中的高效时间序列查询的回答中的后续问题。
为了简单起见,我将使用与该问题相同的表结构
最初的问题是获取某个范围内每个日期的每个小部件的分数。如果某个日期没有小部件条目,则显示该小部件上一个条目的分数。如果所有数据都包含在您查询的范围内,则使用交叉连接和窗口函数的解决方案效果很好。我的问题是我想要以前的分数,即使它在我们正在查看的日期范围之外。
示例数据:
当我查询 2012 年 5 月 5 日至 5 月 10 日的范围(即generate_series('2012-05-05'::date, '2012-05-10'::date, '1d')
)时,我想得到以下信息:
迄今为止最好的解决方案(也是@Erwin)是:
但正如您在此SQL Fiddle中看到的那样,它在前两天为小部件 1337 生成空分数。我希望看到第 1 行中较早的 52 分代替它。
是否有可能以有效的方式做到这一点?
sql - PostgreSQL 将时间范围拆分为天
我正在尝试使用 PostgreSQL 9.2.4 编写一个复杂的查询,但我无法让它工作。我有一个包含时间范围以及其他几列的表。当我在这个表中存储数据时,如果所有列都相同并且时间范围重叠或相邻,我将它们合并为一行。
但是,当我检索它们时,我想在日期边界处拆分范围 - 例如:
将被选为两行:
对于两个检索到的条目,其他列中的值相同。
我已经看到这个问题似乎或多或少地解决了我想要的问题,但它是针对 PostgreSQL 的“非常旧”版本的,所以我不确定它是否真的仍然适用。
我也看过这个问题,它完全符合我的要求,但据我所知,该CONNECT BY
语句是 SQL 标准的 Oracle 扩展,所以我不能使用它。
我相信我可以使用 PostgreSQL 来实现这一点generate_series
,但我希望有一个简单的例子来展示它是如何用来做到这一点的。
这是我目前正在处理的查询,目前不起作用(因为我无法FROM
在连接的子查询中引用表),但我相信这或多或少是正确的轨道。
这是架构、示例数据和我的工作查询的小提琴。
更新:感谢这个问题,我刚刚发现了一个有趣的事实,即如果您SELECT
在查询部分使用集合返回函数,PostgreSQL 将“自动”对集合和行进行交叉连接。我想我已经接近完成这项工作了。
sql - 使用 GROUP BY 执行 SELECT COUNT 时也选择零值
我正在创建统计模块。我的工作之一是用过去一周的注册用户总数创建情节。
问题是我从事的服务只有少数客户使用,所以经常发生没有人注册的日子。
表描述(简化)是:
要获得过去 7 天的总和,我使用
一切正常,Postgres 返回例如:
除了它省略了 0 计数的天数。当然我必须解析这个查询的结果(在这种情况下:PHP + Symfony)所以我可以遍历所需的日期范围并填补空白,但我想知道是否有简单的方法让 PostgreSQL 为我做这件事,所以它返回如下内容:
sql - 选择按 5 分钟周期分组的记录的平均值
我有一个小问题。我有一个这种格式的 PostgreSQL 表
我想将它们按 5 分钟的时间段分组,并将该组的平均值作为单个值,因此将有 20% 的记录,每条记录平均包含约 5 个数字,时间设置为第一个时间值群组。我不知道如何在 PgSQL 中做到这一点。所以结果是:
variables - R:使用 R 中的 start.date 和 end.date 变量将一系列日期生成到另一个变量中
我有一个数据集包含 start_date、end_date 和 var_string。在这里,我想创建新的数据集,包括DATE
从start_date
to开始的单个日期到 ' ' end_date
,并且 ' var_string
' 应该包含重复的字符串,如下开始和结束日期。这是我的示例数据:
所以我想在 R 中转换这个数据集,如下所示:
等等..
所以请帮助我在 R 中获取新的数据集,如上所述。
postgresql - 生成一系列日期 - 使用日期类型作为输入
文档forgenerate_series
说参数可以是int
or bigint
forgenerate_series(start, stop)
和generate_series(start, stop, step)
case 和timestamp
or timestamp with time zone
for generate_series(start, stop, step interval)
。
generate_series
将date
类型作为输入并返回的原因是什么timestamp with timezone
?