문제
다음 [재고] 테이블에서 SQL문을 실행했을 때 품목코드='B002'인 행의 before_qty 값을 쓰시오.
| 품목코드 | 수량 |
|---|---|
| A001 | 50 |
| B002 | 80 |
| C003 | 65 |
| D004 | 90 |
SQLSELECT 품목코드, 수량, LAG(수량, 1, -1) OVER (ORDER BY 품목코드) AS before_qty FROM 재고;
정답
50
50
해설
ORDER BY 품목코드로 정렬하면 A001, B002, C003, D004 순서이다. LAG(수량, 1, -1)은 현재 행의 바로 이전 행 수량을 가져오므로 B002의 before_qty는 A001의 수량 50이다.