mysql 如何分时间段统计数据?(UNIX_TIMESTAMP函数)


例:假如一张表(tb_ecp_send_speed )中包含时间(date)和数量(count)两个字段,那么我么如何动态的统计每五分钟或十分钟或半个小时的数据总量?

beginTime 和 endTime 均为前台页面动态可选的时

select DATE_FORMAT(s.DATE,'%Y-%m-%d %H:%i') date,sum(s.count) countfrom tb_ecp_send_speed s

 WHERE 1=1

  and s.DATE >= #{beginTime}
and s.DATE < #{endTime}
group by floor(UNIX_TIMESTAMP(s.DATE) / ${periodTime})

floor函数:向下取整,floor(1.21) --> 1; floor(-1.21) --> -2

periodTime: 假如你要统计每五分钟为一段的数量 那么periodTime=5*60,假如你要统计每十分钟为一段的数量 那么periodTime=10*60,半个小时的就是 30*60!(分钟数 * 60秒)


免责声明!

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



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