【发布时间】:2019-11-24 17:55:23
【问题描述】:
我想返回 user_activity 的最后 7 天,但对于那些空的日子我想添加 0 作为值
假设我有这张桌子
actions | id | date
------------------------
67 | 123 | 2019-07-7
90 | 123 | 2019-07-9
100 | 123 | 2019-07-10
50 | 123 | 2019-07-13
30 | 123 | 2019-07-15
这应该是过去 7 天的预期输出
actions | id | date
------------------------
90 | 123 | 2019-07-9
100 | 123 | 2019-07-10
0 | 123 | 2019-07-11 <--- padded
0 | 123 | 2019-07-12 <--- padded
50 | 123 | 2019-07-13
0 | 123 | 2019-07-14 <--- padded
30 | 123 | 2019-07-15
这是我目前的查询,我只能得到最近 7 天 但不确定添加到默认值是否是积极的
SELECT *
FROM user_activity
WHERE action_day > CURRENT_DATE - INTERVAL '7 days'
ORDER BY uid, action_day
【问题讨论】:
-
id 总是 123 吗?如果不是,应该如何计算?
-
@Jeremy 是单个用户的活动,所以不一定
标签: sql postgresql