SELECT DATE_FORMAT(consumeDate,'%Y-%m'),SUM(amount) FROM expense
WHERE YEAR(consumeDate)=2011
GROUP BY DATE_FORMAT(consumeDate,'%Y-%m')
我想统计1到12月的支出情况
没有数据的月份显示0
请问要如何修改这条sql
月份 总数
1 0
2 0
3 0
4 0
5 0
6 100
. 0
. 0
. 0
12 0
WHERE YEAR(consumeDate)=2011
GROUP BY DATE_FORMAT(consumeDate,'%Y-%m')
我想统计1到12月的支出情况
没有数据的月份显示0
请问要如何修改这条sql
月份 总数
1 0
2 0
3 0
4 0
5 0
6 100
. 0
. 0
. 0
12 0
解决方案 »
- 请问一个编码的问题
- mysql查询问题,总是报错,个人认为语句无错
- 请教MYSQL连接丢失和mysqld-nt.exe占CPU的问题?
- mysql 中得到上个月中的日期问题
- mysql如何同步主服务器和从服务器。谢谢。
- mysql5.04我已经把数据库的字符集设成了gb2312,但是insert中文进去的变成了??,怎么解决啊?
- mysql 4.1.8在Winxp速度特别慢?
- 急救,程序访问mysql4数据库时,出现*.myi文件找不到
- Unknown column 'limitation' in 'field list'
- 腾讯的云数据库Mysql为什么连接不上
- 求解一条sql语句
- 求解一条sql语句
from
(
select 1 as m
union all
select 2
union all
select 3
union all
select 4
union all
select 5
union all
select 6
union all
select 7
union all
select 8
union all
select 9
union all
select 10
union all
select 11
union all
select 12
) m left join (SELECT month(consumeDate) as m,SUM(amount) FROM expense
WHERE YEAR(consumeDate)=2011
GROUP BY month(consumeDate) ) a on m.m=a.m注意,你的 DATE_FORMAT(consumeDate,'%Y-%m'),是出不来1,2,3这种效果的,是 2011-01这种,并不符合你例子中的要求。
不过你的例子为空的月份都是null啊。。
并不是1,2,3,4,5,6,7这些月份啊?
怎么处理啊??
能帮我写个完整的sql吗?
谢谢了
from
(
select 1 as m
union all
select 2
union all
select 3
union all
select 4
union all
select 5
union all
select 6
union all
select 7
union all
select 8
union all
select 9
union all
select 10
union all
select 11
union all
select 12
) m left join (SELECT month(consumeDate) as m,SUM(amount) as exp FROM expense
WHERE YEAR(consumeDate)=2011
GROUP BY month(consumeDate) ) a on m.m=a.m