다음 [결과]를 얻기 위해 ㉠에 들어갈 함수로 옳은 것은?[월매출]월금… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 [결과]를 얻기 위해 ㉠에 들어갈 함수로 옳은 것은?[월매출]
| 월 | 금액 |
|---|---|
| 1 | 100 |
| 2 | 300 |
| 3 | 200 |
| 4 | 400 |
| 5 | 150 |
SELECT 월, 금액,
( ㉠ ) OVER (ORDER BY 월) AS 비교값
FROM 월매출
ORDER BY 월;[결과]
| 월 | 금액 | 비교값 |
|---|---|---|
| 1 | 100 | 200 |
| 2 | 300 | 400 |
| 3 | 200 | 150 |
| 4 | 400 | (null) |
| 5 | 150 | (null) |
1
FIRST_VALUE(금액)
2
MAX(금액)
3
LEAD(금액, 2)
4
LAG(금액)
해설
각 행의 비교값이 두 달 뒤 금액이고 마지막 두 행이 NULL 이므로 LEAD(금액, 2) 이다.
LEAD 는 정렬 기준으로 뒤쪽 n번째 행 값을 가져오며, 가져올 행이 없으면 기본값을 주지 않는 한 NULL 이다.
- LAG(금액) 는 직전 달 값이라 첫 행이 NULL 이고 100·300·200·400 이 이어진다.
- FIRST_VALUE(금액) 는 모든 행에 첫 달 금액 100 을 준다.
- MAX(금액) 는 기본 프레임에서 누적 최댓값 100·300·300·400·400 을 준다.
오류나 개정된 내용이 보이면 알려주세요