총 기간을 특정 일 간격으로
기간 데이터가 있는 경우 총 기간을 원하는 일별로 나누어 조회하는 경우가 종종있어 정리
SELECT
CONCAT(MIN(mos_int_date), ' - ', MAX(mos_int_date)) AS date_range,
avg(mos_int_water) AS sum_mos_int_water,
avg(mos_int_apt) AS sum_mos_int_apt,
avg(mos_int_park) AS sum_mos_int_park
FROM (
SELECT
mos_int_date,
mos_int_water,
mos_int_apt,
mos_int_park,
FLOOR((ROW_NUMBER() OVER (ORDER BY mos_int_date) - 1) / 3) AS group_id
FROM
mos_info
) t
GROUP BY
group_id;
위 쿼리에서 봐야할 부분은 아래 쿼리 부분
FLOOR((ROW_NUMBER() OVER (ORDER BY mos_int_date) - 1) / 3) AS group_id
그럼 최종적으로 3일 간격의 데이터를 얻을 수 있음