MYSQL을 사용하여 5분 단위로 그룹핑하여 평균값 계산하는 방법에 대해 알아보겠습니다.
테이블 생성
먼저 분 단위로 그룹핑과 평균값 계산을 위해 DATETIME, FLOAT 타입이 포함된 테이블을 생성합니다.
1 | CREATE TABLE test ( |
테이블이 생성되면 값을 입력합니다.
첫 번째 방법
시간 단위로 먼저 그룹핑한 후 분단위를 5로 나누어 그룹핑합니다.
1 | SELECT date_format(log_time, '%Y%m%d%H%i%S'), AVG(sensor_value) |
또는 다음과 같이 SUBSTR 함수를 빼고 format을 다르게 해서 할 수 있습니다.
1 | SELECT date_format(log_time, '%Y%m%d%H%i%S'), AVG(sensor_value) |
FLOOR 함수는 가장 가까운 정수로 버림하여 반환합니다.
두 번째 방법
시간 및 분 단위로 분리하는 함수를 사용합니다.
1 | SELECT date_format(log_time, '%Y%m%d%H%i%S'), AVG(sensor_value) |
DATE, HOUR, MINUTE 함수는 날짜, 시간, 분의 값을 반환합니다.
5분 단위 데이터 출력
1 | SELECT * |
또는
1 | SELECT * |
MOD 함수는 첫 번째 값을 두 번째 값으로 나눈 나머지를 반환합니다.
참고
date_format 함수의 두 번째 항목인 format 내용은 아래 사이트에서 자세하게 확인해 볼 수 있습니다.