[ORACLE] 분석함수를 이용한 순차적 중복제거 (Feat. Decode)
DB/Oracle 2020. 4. 20. 18:34

아래의 예시 결과값은 오라클 라이브 SQL에서 확인 할 수 있습니다. (오라클 11g / 12c 기준) 오라클에서 데이터 중복 제거를 할때 일반적인 중복제거가 아닌 인접한(바로 이전에 나온)값의 중복제거를 하고 싶을때가 있다. 예를 들면 그림 1-1의 결과를 그림 1-2의 결과 처럼 표현 하고 싶을때가 있다. 그럴 경우 아래와 같이 decode와 오라클 분석 함수 LAG를 사용하면 된다. WITH T AS ( SELECT '1' AS TEXT FROM DUAL UNION ALL SELECT '1' AS TEXT FROM DUAL UNION ALL SELECT '1' AS TEXT FROM DUAL UNION ALL SELECT '2' AS TEXT FROM DUAL UNION ALL SELECT '2' ..