https://solvesql.com/problems/moving-average-of-power-consumption/
-- 특정 기간 동안 전력 소비 데이터를 10분 간격으로 평균 계산
SELECT
datetime(measured_at, '+10 minute') AS end_at,
-- 측정 시각(measured_at)에 10분을 더한 값을 end_at 열로 표시
ROUND(
AVG(zone_quads) OVER (
ORDER BY measured_at
ROWS BETWEEN 5 PRECEDING AND CURRENT ROW
), 2
) AS zone_quads,
-- zone_quads의 이동 평균 계산:
-- 측정 시각(measured_at) 기준으로 현재 행 포함 이전 5행까지의 평균을 소수점 둘째 자리까지 반올림
ROUND(
AVG(zone_smir) OVER (
ORDER BY measured_at
ROWS BETWEEN 5 PRECEDING AND CURRENT ROW
), 2
) AS zone_smir,
-- zone_smir의 이동 평균 계산:
-- 현재 행 포함 이전 5행까지의 평균을 소수점 둘째 자리까지 반올림
ROUND(
AVG(zone_boussafou) OVER (
ORDER BY measured_at
ROWS BETWEEN 5 PRECEDING AND CURRENT ROW
), 2
) AS zone_boussafou
-- zone_boussafou의 이동 평균 계산:
-- 현재 행 포함 이전 5행까지의 평균을 소수점 둘째 자리까지 반올림
FROM
power_consumptions
-- 전력 소비 데이터를 저장한 테이블
WHERE
measured_at BETWEEN '2017-01-01 00:00:00' AND '2017-02-01 00:00:00'
-- 측정 시각이 2017년 1월 1일 0시부터 2017년 2월 1일 0시까지인 데이터만 조회
'SQL' 카테고리의 다른 글
[solvesql - day 16] 스테디셀러 작가 찾기 (0) | 2025.01.11 |
---|---|
[solvesql - day 15] 폐쇄할 따릉이 정류소 찾기 2 (0) | 2025.01.11 |
[solvesql - day 13] 게임 개발사의 주력 플랫폼 찾기 (0) | 2025.01.11 |
[solvesql - day 12] 3년간 들어온 소장품 집계하기 (0) | 2025.01.11 |
[solvesql - day 11] 서울숲 요일별 대기오염도 계산하기 (1) | 2025.01.11 |