首页 新闻 会员 周边

sql统计月的数量,我的需求是这样的

0
悬赏园豆:20 [已解决问题] 解决于 2012-04-20 14:34

1,select count(*) as count,month(addtime) as 月份 from TB group

by month(addtime).

如果只有2,3月份的话,提出啦的数据时这样的

count   月份

100        2

400      3

 

我想要的结果是这样的:

count   月份

0           1

100        2

400      3

0          4

 

0          5,

...............   就是没有的月份就补0,但是12个月都要出来,要12条数据,从1,12排

盖房男后宫妇女777的主页 盖房男后宫妇女777 | 初学一级 | 园豆:90
提问于:2012-03-19 18:06
< >
分享
最佳答案
0

新建一个临时表,表只有字段n 数据是:1,2,3...12 这样将这个与你的表左链接,这样就可以出现12个月了

收获园豆:15
小小刀 | 小虾三级 |园豆:1991 | 2012-03-19 19:29
其他回答(3)
1

建议你加一个where字句,如 where month in(1,2,...12)

收获园豆:5
hanfei_007 | 园豆:170 (初学一级) | 2012-03-19 18:29
0

你 这个最好,读出数据再加吧。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-19 19:15
0

select count(*) as count,1 as 月份 from TB  where month(addtime) =1

union all

select count(*) as count,2 as 月份 from TB  where month(addtime) =2

union all

select count(*) as count,3 as 月份 from TB  where month(addtime) =3

死白的man | 园豆:2135 (老鸟四级) | 2012-03-20 08:07

结错了,不好意思,本来给你15的

支持(0) 反对(0) 盖房男后宫妇女777 | 园豆:90 (初学一级) | 2012-04-20 14:35

@路旭辉: 没事~我回答也不是为了分数 分数有毛用啊 呵呵

支持(0) 反对(0) 死白的man | 园豆:2135 (老鸟四级) | 2012-04-20 14:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册