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 。这样就能实现你的功能了,不会造成曲线图错误欢迎分享,转载请注明来源:内存溢出
评论列表(0条)