MySQL中统计一天之内每个时间段内的数据,很急

MySQL中统计一天之内每个时间段内的数据,很急,第1张

时间段统计,可以采用 hour(subscribe_time) 取出小时然后分层。思路:

select

uid

,CASE WHEN HOUR(subscribe_time) BETWEEN 0 AND 1 THEN '00:00:00'

WHEN HOUR(subscribe_time) BETWEEN 2 AND 3 THEN '02:00:00'

...

ELSE '23:00:00' END -- 生成时间分层部分,insert前外层sql加上日期后作为唯一的时间值

,COUNT(*)

FROM yht_fans WHERE subscribe_time>=UNIX_TIMESTAMP(CURDATE()) and subscribe_time<=UNIX_TIMESTAMP(CURDATE())+86400

GROUP BY 1,2

其实没必要想得那么复杂吧,先从数据库中根据日期分组,统计出每日的订单量,用程序保存于集合,然后程序计算出一月的日期列表,也保存于集合,两个集合嵌套循环,然后用时间配对,没配对上的就为0 。这样就能实现你的功能了,不会造成曲线图错误


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7347955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存