【发布时间】:2016-02-16 04:36:52
【问题描述】:
我正在尝试编写一个有效的查询,以从关系数据库表中获取前 7 天值的总和,并根据 7 天期间的最终日期记录每个总数(例如,“WeeklyTotals 表”下面的例子)。例如,在我的 WeeklyTotals 查询中,我希望 2 月 15 日的值为 333,因为这是从 2 月 9 日到 2 月 15 日的用户总数,以此类推:
我有一个基本查询,它可以让我获得今天日期的前几周用户(为了示例而简化):
SELECT Date, Sum("Total Users")
FROM "UserRecords"
WHERE (dateadd(hour, -8, "UserRecords"."Date") BETWEEN
dateadd(hour, -8, sysdate) - INTERVAL '7 DAY' AND dateadd(hour, -8, sysdate);
问题是,这只能让我得到今天日期的总数。我需要一个查询来获取前 7 天的这些信息。
我知道我可以为每个日期创建一个视图(因为我只需要前七个条目)并将它们全部连接在一起,但这似乎效率很低(我必须创建/更新 7 个视图,然后执行所有操作内连接操作)。我想知道是否有更有效的方法来实现这一点。
【问题讨论】:
-
在标签中添加你的数据库...
-
日期系列有间隔吗?
-
redshift是否实现了窗口功能?
标签: sql postgresql amazon-redshift