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

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条)

报告相同问题?

悬赏问题

  • ¥15 镍氢电池充电器设计实物使用原理
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?