sql 之mysql间隔几分钟统计一次数据


我们一般会接到一些统计时段的的需求,如下图所示

 

 要求,每30分钟统计一次数据,或者每隔5分钟执行一次

 

sql的写法,如下所示,

select  DATE_FORMAT(CONCAT( DATE_FORMAT( ro.update_time, '%Y-%m-%d %H:' ), (FLOOR( MINUTE(ro.update_time)/30)* 30) ),'%H:%i'  time_hour from 10分钟一次

select  DATE_FORMAT(DATE_ADD(CONCAT( DATE_FORMAT( ro.update_time, '%Y-%m-%d %H:' ), (FLOOR( MINUTE(ro.update_time)/5)* 5) ),INTERVAL 5 MINUTE ),'%H:%i' ) time_hour  5分钟一次

 

如何取 前5分钟和后5分钟的时间段

select now() - INTERVAL ( TIME_TO_SEC( now()) MOD 300 + 300 ) SECOND FROM DUAL -- 当前时间前5分钟数据
select now() - INTERVAL ( TIME_TO_SEC( now()) MOD 300 ) SECOND FROM DUAL -- 当前时间后5分钟数据


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM