[퀴즈] 직전 값 참조 쿼리
다음과 같은 자료가 있습니다.
WITH t AS
(
SELECT 1 no, 10 v FROM dual
UNION ALL SELECT 2, Null FROM dual
UNION ALL SELECT 3, Null FROM dual
UNION ALL SELECT 4, 20 FROM dual
UNION ALL SELECT 5, 10 FROM dual
UNION ALL SELECT 6, Null FROM dual
UNION ALL SELECT 7, Null FROM dual
UNION ALL SELECT 8, Null FROM dual
UNION ALL SELECT 9, 40 FROM dual
)
SELECT * FROM t;
v 값이 없을때 직전 번호의 v값을 가져와 조회하는 쿼리를 작성하세요.
만약 직전 v값도 없다면 그 이전값을 그값도 없다면 그 이전값을 조회해야 합니다.
[원본]
[결과]
NO
V
NO
V
V1
1
10
1
10
10
2
2
10
3
3
10
4
20
4
20
20
5
10
5
10
10
6
6
10
7
7
10
8
8
10
9
40
9
40
40
[정답보기] <=== 트리플클릭
SELECT no, v
, LAST_VALUE(v IGNORE NULLS) OVER(ORDER BY no) v1
FROM t
;