아래와 같이 순위로 정렬된 상태에서 그룹이 1일경우만 순위그룹값을 알 수 있는데
원하는 값 처럼 순위그룹값이 null인경우 이전 순위그룹값을 가져올 수 있나요?
그룹 | 순위 | 순위그룹 | 원하는 값
--------------------------------------
1 | 1 | a | a
2 | 2 | null | a
1 | 3 | b | b
1 | 4 | c | c
1 | 5 | d | d
2 | 6 | null | d
3 | 7 | null | d
1 | 8 | e | e
2 | 9 | null | e
3 | 10 | null | e
4 | 11 | null | e
WITH t AS ( SELECT 1 grp, 1 seq, 'a' val FROM dual UNION ALL SELECT 2, 2, null FROM dual UNION ALL SELECT 1, 3, 'b' FROM dual UNION ALL SELECT 1, 4, 'c' FROM dual UNION ALL SELECT 1, 5, 'd' FROM dual UNION ALL SELECT 2, 6, null FROM dual UNION ALL SELECT 3, 7, null FROM dual UNION ALL SELECT 1, 8, 'e' FROM dual UNION ALL SELECT 2, 9, null FROM dual UNION ALL SELECT 3, 10, null FROM dual UNION ALL SELECT 4, 11, null FROM dual ) SELECT grp, seq, val , LAST_VALUE(val IGNORE NULLS) OVER(ORDER BY seq) v_10g , LAST_VALUE(val) IGNORE NULLS OVER(ORDER BY seq) v_11g FROM t ;