부서별 가장 최근 급여와 직전 급여의 차이를 구한 결과는?
PAY
| DEPT | PAID_AT | AMOUNT |
|---|---|---|
| A | 1 | 100 |
| A | 2 | 130 |
| B | 1 | 80 |
| B | 3 | 70 |
SELECT dept, amount - LAG(amount) OVER ( PARTITION BY dept ORDER BY paid_at ) AS diff FROM pay ORDER BY dept, paid_at;
정답 1번
PARTITION BY dept가 직전 행 탐색을 부서 안으로 제한하고 ORDER BY paid_at이 순서를 정한다. 각 파티션 첫 행은 이전 값이 없어 NULL이며 이후 차이는 A=30, B=-10이다.
콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-21