SQL/SQLite
[SQLite] LEAD OVER 구문
jihuSunbae
2024. 10. 3. 19:45
예를 들어, 데이터에서 저장된 날짜 중에서 오늘 날짜 바로 다음으로 저장된 날짜의 값을 비교해야할 때가 있다.
이럴 때 LEAD 함수를 사용한다.
LEAD
LEAD 함수는 현재 행의 다음 값을 가져올 수 있는 윈도우 함수이다.
LEAD(다음값을_가져오고_싶은_컬럼) OVER (ORDER BY 값을_정렬하고_싶은_컬럼명)
LEAD temperature OVER(ORDER BY date) AS tomorrow_temp
예를 들어, 테이블에 date라는 날짜 컬럼과 temperature온도 컬럼이 있을 때,
내일의 온도를 알고 싶을 때는 다음과 같이 쿼리를 짠다.
LEAD temperature OVER(ORDER BY date) AS tomorrow_temp
전체 구문으로 살펴보면, LEAD 구문에 의해서
다음연도의 매출 총합이 이뤄지는 NextYearTotal 열이 새로 만들어지는 것을 확인할 수 있다.
SELECT
CustomerId,
Year,
Total,
LEAD ( Total,1,0) OVER ( ORDER BY Year ) NextYearTotal
FROM
CustomerInvoices
WHERE
CustomerId = 1;
출처:
https://www.sqlitetutorial.net/sqlite-window-functions/sqlite-lead/