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/