qq_32849217 2016-10-27 06:16 采纳率: 33.3%
浏览 5911
已采纳

mysql查询每天的记录,但是若当天没有记录的话,怎么让其返回0

我要获取每天添加的记录数,

我的sql语句,
select date_format(u.addtime,'%Y-%m-%d') addday,count(1) cnt
from 'user' u
where u.addtime>='2016-9-21 00:00:00' and u.addtime<now() group by addday

现在的结果是这样的:

图片说明
像2016-9-23,因为没有记录,所以就没有显示,我想要这段时间每天的记录数,即使9-23没有记录,count也要为0,这个怎么解决啊?

  • 写回答

3条回答 默认 最新

  • little_how 2016-10-27 06:41
    关注

    我不知道你的场景是什么,但是数据库无中生有特别难;
    1.建议在程序中处理;
    2.实在要用数据库处理则需要一张全日期表;比如2016的一天是一条数据;
    然后用日期表来左连接你的这个结果集,日期限制也要在日期表,然后再用case when;

    希望能帮你找到思路....

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?