연속되는 문자, 숫자를 구간으로 표현하고 싶습니다.
자주 답변 주시는 마농님께 감사 말씀 드립니다.
칼럼도 개재하시던데 축하 드리구요.
구체적인 OUTPUT 은 아래와 같습니다.
-- KEY 기준으로 VALUE 값 연속 구간 표현(MIN, MAX)
key, min,max
1, 101, 102
1, 104, 104
1, A, B
1, 가, 나
1, 라, 라
2, 가, 가
2, 하, 하
WITH TT AS
(
SELECT 1 KEY, '101' VALUE FROM dual
UNION ALL SELECT 1, '102' FROM dual
UNION ALL SELECT 1, '104' FROM dual
UNION ALL SELECT 1, '가' FROM dual
UNION ALL SELECT 1,'나' FROM dual
UNION ALL SELECT 1, '라' FROM dual
UNION ALL SELECT 1,'A' FROM dual
UNION ALL SELECT 1,'B' FROM dual
UNION ALL SELECT 2,'가' FROM dual
UNION ALL SELECT 2,'하' FROM dual
)
SELECT A.*
FROM TT A
ORDER BY KEY,VALUE;
|