안녕하세요, 쿼리질문드립니다.. 0 1 624

by kimmmmmmm [SQL Query] [2017.04.03 10:50:15]


안녕하세요, 쿼리질문드립니다..

 

인접한 행에 대해서 중복제거가 가능할까요 ?

A컬럼

----------

1

1

2

3

3

1

2

3

3

이렇게 데이터가 있을 시 인접한 행에 대한 중복제거로

1

2

3

1

2

3

이렇게 데이터가 추출되었으면 합니다..

by 마농 [2017.04.03 11:13:48]

정렬기준이 반드시 필요한 문제입니다.
정렬기준 RN 을 추가하여 풀었습니다.

WITH t AS
(
SELECT 1 rn, 1 a FROM dual
UNION ALL SELECT 2, 1 FROM dual
UNION ALL SELECT 3, 2 FROM dual
UNION ALL SELECT 4, 3 FROM dual
UNION ALL SELECT 5, 3 FROM dual
UNION ALL SELECT 6, 1 FROM dual
UNION ALL SELECT 7, 2 FROM dual
UNION ALL SELECT 8, 3 FROM dual
UNION ALL SELECT 9, 3 FROM dual
)
SELECT rn, a
  FROM (SELECT rn, a
             , DECODE(LAG(a) OVER(ORDER BY rn), a, 0, 1) flag
          FROM t
        )
 WHERE flag = 1
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입