본문 바로가기
프로그래밍 언어(Programming Languages)/SQL

[SQL] 데이터 통찰의 열쇠: LAG로 이전 날짜의 데이터 비교하기

by 데이터 벌집 2023. 12. 11.

LAG 함수

 

 

 

 

 

SQL의 LAG 함수는 데이터 분석에 있어 중요한 도구 중 하나입니다. 이 함수는 현재 행에서 지정된 수의 행 앞에 있는 데이터를 검색합니다. 이를 통해 현재 데이터와 이전 데이터를 비교하거나 시계열 데이터에서 이전 시점의 값을 분석하는 데 사용됩니다.

 


온도 변화 추적하기: LAG 함수로 이전 날짜의 날씨 비교하기

 

 

예를 들어, 날씨 데이터가 있는 테이블 Weather가 있고, 각 날짜(recordDate)와 해당 날짜의 온도(temperature)를 기록하고 있다고 가정해 봅시다. 여기서 LAG 함수를 사용하면, 각 행의 온도와 이전 날짜의 온도를 쉽게 비교할 수 있습니다.

 

 

SELECT 
    id, 
    recordDate, 
    temperature,
    LAG(recordDate, 1) OVER (ORDER BY recordDate) AS pre_date,
    LAG(temperature, 1) OVER (ORDER BY recordDate) AS pre_temp
FROM Weather
ORDER BY recordDate;

 

 

이 SQL 쿼리는 LAG 함수를 사용하여 각 날짜의 온도(temperature)와 이전 날짜의 온도(pre_temp), 그리고 이전 날짜(pre_date)를 검색합니다. LAG 함수의 두 번째 인자는 몇 개의 행을 건너뛸지를 지정합니다. 여기서는 1을 사용하여 바로 이전 행의 데이터를 가져옵니다. ORDER BY 절은 recordDate 컬럼을 기준으로 데이터를 정렬하여 시간 순서대로 이전 값을 찾을 수 있도록 합니다.

 

 

이 쿼리의 실행 결과는 다음과 같습니다:

idrecordDatetemperaturepre_datepre_temp

ID recordDate temperature pre_date pre_temp
1 2015-01-01 10 null null
2 2015-01-02 25 2015-01-01 10
3 2015-01-03 20 2015-01-02 25
4 2015-01-04 30 2015-01-03 20

 


LAG 함수는 데이터의 시간적 변화를 분석하거나, 이전 데이터와의 차이를 계산하는 데 유용합니다. 이와 같은 분석은 특히 재고 관리, 재무 분석, 기후 변화 연구 등 다양한 분야에서 중요한 인사이트를 제공할 수 있습니다.