qq_36194388
时小浅
采纳率50%
2018-04-20 07:48

MySQL统计时间段数据,没有该天数据则为0

10
已采纳

SELECT
COUNT(1) dealOrder,
o.create_date createDate
FROM orders o
WHERE o.shop_id = 27
AND DATE_FORMAT(o.create_date, '%Y-%m-%d') IN ('2018-04-19', '2018-04-18', '2018-04-17', '2018-04-16', '2018-04-15', '2018-04-14', '2018-04-13')
AND o.order_status IN ('1', '2', '3', '5')
GROUP BY DATE_FORMAT(o.create_date, '%Y-%m-%d');

图片说明

缺少14号和13号的数据

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 3年前
    点赞 1 评论 复制链接分享
  • Royal_lr Royal_lr 3年前

    不建议用sql实现,在后台代码中操作会比较好

    点赞 评论 复制链接分享
  • hu837389340 hu837389340 3年前


    (select '2018-04-19' as t
    union select '2018-04-18' as t
    union select '2018-04-17' as t
    union select '2018-04-16' as t
    union select '2018-04-15' as t
    union select '2018-04-14' as t
    union select '2018-04-13' as t)as temp
    查询结果作为临时表,然后left join orders o

    点赞 评论 复制链接分享

相关推荐