按15分钟为一组,且分组时不能取整,只能用开始时间累加15分钟的方式分组。下面是查询语句:

SELECT 
    DATE_FORMAT(real_time, '%Y-%m-%d %H:') +
    CASE
        WHEN MINUTE(real_time) >= 0 AND MINUTE(real_time) < 15 THEN '00'
        WHEN MINUTE(real_time) >= 15 AND MINUTE(real_time) < 30 THEN '15'
        WHEN MINUTE(real_time) >= 30 AND MINUTE(real_time) < 45 THEN '30'
        WHEN MINUTE(real_time) >= 45 AND MINUTE(real_time) < 60 THEN '45'
    END AS group_time,
    MAX(point_value) AS max_value
FROM
    zdh_point_realdata
WHERE
    real_time >= '2021-01-01 00:00:00' AND real_time <= '2021-01-31 23:59:59'
GROUP BY group_time

注意替换zdh_point_realdata为你的表名,real_time为时间字段名,point_value为数据值字段名,以及替换时间条件为你需要的时间范围

mysql中创建一个表create table zdh_point_realdata uuid varchar32 not null comment uuid real_time datetime null comment 时间 point_value decimal12 5 null comment 数据值按15分钟为一组且

原文地址: https://www.cveoy.top/t/topic/irVL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录