【发布时间】:2016-03-16 16:01:24
【问题描述】:
我有一个目前看起来像这样的数据库
Date | valid_entry | profile
1/6/2015 1 | 1
3/6/2015 2 | 1
3/6/2015 2 | 2
5/6/2015 4 | 4
我正在尝试获取日期,但我需要查询以显示列表中不存在的日期,例如 2/6/2015。
这是我需要的样本:
Date | valid_entry
1/6/2015 1
2/6/2015 0
3/6/2015 2
3/6/2015 2
4/6/2015 0
5/6/2015 4
我的查询:
select date, count(valid_entry)
from database
where profile = 1
group by 1;
此查询将仅显示其中存在的日期。有没有办法在查询中使用其中不存在的日期填充结果?
【问题讨论】:
-
您可以使用一个包含所有日期的虚拟表,然后使用 union 来获取 -not in the actual table- 日期吗?
-
我不明白您如何计算预期输出中
valid_entry的值。第二行的4com 来自哪里?不应该是0,因为 2015-06-02 没有行吗? -
@a_horse_with_no_name 抱歉,应该是 0。我更新了代码如下。
标签: sql postgresql