分享

MySQL 各种恶心的统计功能经验积累(持续更新中)

 quasiceo 2018-09-19

(1)统计一段非连续时间内的数据情况,要求时间连续显示

关键解决思路:
使用变量提前创建出连续时间,然后利用left join与group by 去统计
以下sql能利用变量创建出连续的时间,可按月累加、按日累加甚至按小时累加
DATE_ADD函数:处理时间累加
INTERVAL:
DATE_FORMAT函数:时间日期格式化

SELECT DATE_FORMAT(@cdate := DATE_ADD(@cdate, INTERVAL +1 MONTH),'%Y-%m') cday
  FROM( SELECT @cdate := DATE_ADD('2018-01-01', INTERVAL -1 MONTH) FROM tt1 LIMIT 15) t0
  WHERE DATE(@cdate) <= DATE_ADD('2018-12-01', INTERVAL -1 MONTH)
  • 1
  • 2
  • 3


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多