假设有如下表 :
tb_user
id name time
1 yyy1 2016-07-29 10:03:20
2 yyy2 2016-08-29 10:03:20
3 yyy3 2016-09-29 10:03:20
4 yyy4 2016-010-29 10:03:20
5 yyy5 2016-010-27 10:03:20
... .... ....
为了方便统计和转换为对象创建一个统计表
tb_sta
id number
月份 数量
如何写sql把每月的用户数量统计过后放在tb_sta 里面 ?
如何有一个月份没有用户则用0表示 ?
按月统计用select year(time), month(time), count(1) from tb_user group by year(time), month(time);
某个月份没有用户用0比较恶心,用sql是可以搞但会很麻烦。个人建议用上面语句取到结果后,在应用程序里面补上缺的月份,然后往tb_sta里面存