mysql中创建一个表create table zdh_point_realdata uuid varchar32 not null comment uuid real_time datetime null comment 时间 point_value decimal12 5 null comment 数据值按15分钟为一组且
按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为数据值字段名,以及替换时间条件为你需要的时间范围
原文地址: https://www.cveoy.top/t/topic/irVL 著作权归作者所有。请勿转载和采集!