728x90
Correlated Subquery는 SQL에서 사용되는 서브쿼리의 한 종류로, 내부 서브쿼리가 외부 쿼리의 컬럼 값을 참조하는 경우로 자기 참조가 핵심
이동평균 / 누적합
이동평균 구하기
- 구조 (전/후 1일 기준)
SELECT
시간컬럼
, 값컬럼
, (
SELECT AVG(값컬럼)
FROM 테이블 t2
WHERE 1=1
AND 기간컬럼 BETWEEN DATE_SUB(t1.기간컬럼, INTERVAL 1 DAY) AND DATE_ADD(t1.기간컬럼, INTERVAL 1 DAY) )
FROM 테이블 t1
누적합 구하기
- 구조
SELECT
시간컬럼
, 값컬럼
, (SELECT SUM(값컬럼) FROM 테이블 t2 WHERE t2.시간컬럼 <= t1.시간컬럼) -- 메인테이블의 시간보다 이전인 경우의 값들 모두를 더하기 위해
FROM 테이블 t1
원리만 알면 생각보다는 쉽다
728x90
반응형
'DB > SQL' 카테고리의 다른 글
| [Cohort-Pivot] 2개월 차에도 구매한 고객 찾기 (0) | 2025.02.11 |
|---|---|
| [SubQuery] 다양한 서브쿼리 (0) | 2025.02.05 |
| [Window] 윈도우 함수 (0) | 2025.02.03 |
| [WITH] 공통 테이블 표현식(CTE) 사용법 (0) | 2025.02.03 |
| [Pivot] 피벗테이블 만들기 (0) | 2025.02.03 |