【发布时间】:2009-09-16 16:58:23
【问题描述】:
我目前正在使用 MySQL 制作月度报告。我有一个名为“monthly”的表,看起来像这样:
id | date | amount
10 | 2009-12-01 22:10:08 | 7
9 | 2009-11-01 22:10:08 | 78
8 | 2009-10-01 23:10:08 | 5
7 | 2009-07-01 21:10:08 | 54
6 | 2009-03-01 04:10:08 | 3
5 | 2009-02-01 09:10:08 | 456
4 | 2009-02-01 14:10:08 | 4
3 | 2009-01-01 20:10:08 | 20
2 | 2009-01-01 13:10:15 | 10
1 | 2008-12-01 10:10:10 | 5
然后,当我制作月度报告(基于每年的每月)时,我会得到类似的结果。
年月 |总计
2008-12 | 5
2009-01 | 30
2009-02 | 460
2009-03 | 3
2009-07 | 54
2009-10 | 5
2009-11 | 78
2009-12 | 7
我用这个查询得到了结果:
SELECT substring(date, 1, 7) AS yearmonth, sum(amount) AS total
来自monthly
GROUP BY 子字符串(日期, 1, 7)
但我需要这样的东西:
年月 |总计
2008-01 | 0
2008-02 | 0
2008-03 | 0
2008-04 | 0
2008-05 | 0
2008-06 | 0
2008-07 | 0
2008-08 | 0
2008-09 | 0
2008-10 | 0
2008-11 | 0
2008-12 | 5
2009-01 | 30
2009-02 | 460
2009-03 | 3
2009-05 | 0
2009-06 | 0
2009-07 | 54
2009-08 | 0
2009-09 | 0
2009-10 | 5
2009-11 | 78
2009-12 | 7
显示月份为零的东西,没有任何价值。甚至可以在 MySQL 查询中做到这一点吗?
【问题讨论】: