문제
다음 [온도] 테이블에서 SQL문을 실행했을 때 날짜='2024-01-04'인 행의 이전온도 값을 쓰시오.
| 날짜 | 온도 |
|---|---|
| 2024-01-01 | 12.5 |
| 2024-01-02 | 15.8 |
| 2024-01-03 | 11.2 |
| 2024-01-04 | 18.3 |
| 2024-01-05 | 16.7 |
SQLSELECT 날짜, 온도, LAG(온도, 1, NULL) OVER (ORDER BY 날짜) AS 이전온도 FROM 온도;
정답
11.2
11.2
해설
LAG() 윈도우 함수는 현재 행에서 지정된 오프셋만큼 이전 행의 값을 반환합니다. ORDER BY 날짜로 정렬된 상태에서 2024-01-04의 바로 이전 행은 2024-01-03이며, 해당 온도는 11.2입니다. LAG(온도, 1, NULL)에서 1은 1행 이전, NULL은 첫 번째 행의 기본값을 의미합니다.