프로그램 관련/oracle

Oracle 중복 값 체크및 제거

SeoHW 2018. 9. 11. 14:11
반응형

Oracle 중복 값 체크및 제거


예) 하나의 게시물에 첨부파일 여러개가 등록되었을 경우, 특정 순번째 하나의 파일 정보만 추출


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
  -- #  ROW_NUMBER() OVER 를 이용한, 다중값에서 특정 값만 추출
*/
SELECT BOARD_SEQ
        , FILE_NAME
        , COUNT(BOARD_SEQ)
        , ORDER_NO
   FROM(
SELECT BOARD_SEQ
            , FILE_NAME
            , ROW_NUMBER() OVER (PARTITION BY BOARD_SEQ ORDER BY FILE_SEQ) ORDER_NO
    FROM BOARD_FILE BF
    )
    WHERE ORDER_NO = 1
    GROUP BY BOARD_SEQ, FILE_NAME, ORDER_NO
;  
 
/*
  -- #  ROWID 를 이용한, 다중값에서 특정 값만 추출
*/
SELECT BOARD_SEQ
            , FILE_NAME
            , COUNT(BOARD_SEQ)
    FROM BOARD_FILE BF
    WHERE ROWID IN(SELECT MAX(ROWID) FROM BOARD_FILE WHERE BOARD_SEQ = BF.BOARD_SEQ)
    GROUP BY BOARD_SEQ
;


반응형