根据mysql 按日期或者时间段 分组 统计的查询


SELECT DATE_FORMAT( deteline, "%Y-%m-%d %H" ) , COUNT( * ) 
FROM test

GROUP BY DATE_FORMAT( deteline, "%Y-%m-%d %H" ) 

查询某天:

deteline, "%Y-%m-%d

某时:

deteline, "%Y-%m-%d %H"

对应时间:

%Y-%m-%d %H:%I:%S   年-月-日  时:分:秒

依次类推。

根据时间查询 最大值,最小值,平均值 

 

 SQL语句:

SELECT DATE_FORMAT( start_time, "%Y-%m-%d %H:%I:%S " ) as time //时间 , min(alarm_value) as min  //最小值 ,max(alarm_value) as max //最大值  ,avg(alarm_value) as avg //平均值
FROM zt_alarminfo  //数据表   WHERE alarm_type='1'  //查询条件   AND start_time BETWEEN '2017-05-10 10:39:31 ' AND '2017-05-13 20:10:00'  //时间段
GROUP BY DATE_FORMAT( start_time, "%Y-%m-%d %H:%I:%S " )  //分组字段  及时间

其实就是对dateline进行处理,然后再对处理后的数据分组

附:MySQL group by 原理

http://doc.chinaunix.net/mysql/200903/208368.shtml

 

转自http://hi.baidu.com/420591397/blog/item/bb67e8951b42046bd1135e12.html


免责声明!

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



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