【发布时间】:2012-09-27 11:41:24
【问题描述】:
我正在尝试从 mysqldata 制作图表,
Postid | date | text
1 | 2012-01-01 | bla
2 | 2012-01-01 | bla
3 | 2012-01-02 | bla
4 | 2012-01-02 | bla
5 | 2012-01-04 | bla
6 | 2012-01-04 | bla
7 | 2012-01-05 | bla
现在,我想获取每天的帖子数,包括零的日期。例如,我希望能够像这样获得第一周:
date | count(Postid)
2012-01-01 | 2
2012-01-02 | 2
2012-01-03 | 0
2012-01-04 | 2
2012-01-05 | 1
2012-01-06 | 0
2012-01-07 | 0
我正在寻找一个通用的解决方案,我不必指定每个日期。有什么建议吗?
【问题讨论】:
-
在 mysql 中生成行非常困难,没有任意大小的表(所以我猜你可以),使用 rownum = rownum + 1 技巧)。如果您需要在数据库端执行此操作,我建议您创建一个包含合适日期范围的表来进行外部连接,以便获取您需要的数据。 PostgreSQL 具有涵盖行生成的函数“generate_series”,如果没有另一个表,这将非常容易。
-
THIS ARTICLE (click here) 可以指导您解决问题。
标签: mysql database gaps-and-islands