首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有结果的sql返回日期

没有结果的sql返回日期
EN

Stack Overflow用户
提问于 2013-03-05 05:24:11
回答 2查看 203关注 0票数 1

我想要得到一个结果表,显示X具有条目的日期

代码语言:javascript
复制
SELECT count(*),
       date_column
FROM myTable
WHERE X
GROUP BY date_column
ORDER BY date_column DESC

这是可行的,但我也希望看到X没有条目的日期,在我的用例中,这将是中间日期。

例如,2013-3-10将在结果中,但下一个日期将是2013-3-5,但我需要我的结果也返回count = 0的天数,因此在本例中为6、7、8和9

我如何格式化我的查询以包括这些额外的时间?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-05 05:53:55

我模拟了一个简单的例子:

代码语言:javascript
复制
SELECT q.date_column, count(f.id) FROM
(SELECT
 generate_series(min(date_column),max(date_column), '1 day') AS date_column
 FROM mytable) AS q
LEFT JOIN mytable AS f
ON q.date_column=f.date_column
GROUP BY q.date_column ORDER BY q.date_column;

这将生成所需范围内的所有日期。请确保不执行计数(*),否则将得到1而不是0 http://sqlfiddle.com/#!1/fd4ff/1

票数 3
EN

Stack Overflow用户

发布于 2013-03-05 06:00:45

以下内容适用于postgresql:

代码语言:javascript
复制
SELECT count(*) as count, datecolumn as date FROM myTable group by datecolumn UNION 
select 0 as count, i::date as date from generate_series('2013-01-01', 
'2013-12-31', '1 day'::interval) i where i not in (select datecolumn from myTable) order by date desc
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15211408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档