시간 단위로 먼저 그룹핑 한 후에, 분단위를 5로 나누어 그룹핑한다.
SELECT date_format(log_time, '%Y%m%d%H%i%S'), count(*), AVG(sensor_value)
FROM kfri_landslide.2013_12_80_85
WHERE log_time like '2013-12-05%'
GROUP BY SUBSTR(date_format(log_time, '%Y%m%d%H%i%S'), 1, 10),
FLOOR(SUBSTR(date_format(log_time, '%Y%m%d%H%i%S'), 11, 2) / 5) ORDER BY idx
시간 및 분단위로 분리하는 함수를 사용한 SQL 문
SELECT date_format(log_time, '%Y%m%d%H%i%S'), count(*), AVG(sensor_value)
FROM kfri_landslide.2013_12_80_85
WHERE log_time like '2013-12-05%'
GROUP BY DATE(log_time), HOUR(log_time), FLOOR(MINUTE(log_time) / 5)
부가 사항 : 5분 단위의 데이터를 출력
SELECT * FROM kfri_landslide.2013_12_80_85
WHERE MOD(SUBSTR(date_format(log_time, '%Y%m%d%H%i%S'), 11, 2), 5) = 0
SELECT * FROM kfri_landslide.2013_12_80_85
WHERE SUBSTR(date_format(log_time, '%Y%m%d%H%i%S'), 11, 2) % 5 = 0
실제 코드 : 에기연 DH_EMS - 5분 평균 (get_sm_anal_metering_hst())
`dh_ems`.`get_sm_anal_metering_hst`() 참조
'Language > sql' 카테고리의 다른 글
[sql] mysql event 관련 (0) | 2021.11.24 |
---|