mysql 분단위 평균 값 구해서 사용하기(mybatis)

같은 구조의 테이블이라면 다음과 같이 모아서 사용하기

<select id="get5minList" resultMap="resultMapAvg">
        SELECT date_format(log_time, '%Y-%m-%d %H:%i:%s') as time
, truncate(avg(sensor_value),2) as sensor_value_avg, ${tableName}.*
FROM
${tableName}
<where>
<if test="startDate != null"> log_time &gt;= #{startDate} </if>
<if test="endDate != null"> AND log_time &lt;= #{endDate} </if>
</where>
    GROUP BY ceil(date_format(log_time,'%i')/5)
  LIMIT 30000
    </select>

위에서 ceil(date_format(log_time,'%i')/5) 이렇게 사용하면 5분 동안에 센서 데이터 값의 avg를 구해서 사용할 수 있다.

댓글

이 블로그의 인기 게시물

HP 서버 OS 설치시 HDD를 잡지 못하는 문제

python-gdal 설치

Mysql JOIN 사용시 컬럼이름 중복해결