因为业务需求我也是查了百度,有给出一些sql,我现在再总结一下
我这里是比较两个时间,所以会使用到两个sql
mysql中查询一天中每一个小时的记录数量

select count(*) as orderCounts from ec_order o WHERE o.order_type=1
AND o.order_time  >= str_to_date('2018-04-11 00:00:00','%Y-%m-%d %T')    
 AND o.order_time < str_to_date('2018-04-11 23:59:59','%Y-%m-%d %T')    
group by HOUR(o.order_time)

select count(*) as payCounts from ec_order o WHERE 
o.order_type=1 and o.order_status=1 and o.pay_status=1
AND o.pay_time  >= str_to_date('2018-04-11 00:00:00','%Y-%m-%d %T')    
 AND o.pay_time < str_to_date('2018-04-11 23:59:59','%Y-%m-%d %T')    
group by HOUR(o.order_time)

应该很郁闷,这里为什么使用一个时间进行分组,是因为这里是进行比较,比较就需要有一个共同的点才能进行比较,不然就没有意义,所以这里都根据一个时间进行分组

mysql查询一天中每半个小时记录的数量

SELECT HOUR(e.time)as Hour,FLOOR(MINUTE(e.time)/30) as M, COUNT(*) as Count 
FROM error_log e 
WHERE e.date = '2017-09-02' 
GROUP BY FLOOR(MINUTE(e.time)/30),HOUR(e.time) 
ORDER BY Hour(e.time);
Logo

更多推荐