postgresq SQL 문의드립니다. 0 3 1,040

by 김준수 [SQL Query] 쿼리 query sql [2020.02.27 11:46:11]


두 컬럼이 있습니다.

구분값 , 번호

A        1

B        2

B        1

A       4

B       3

B       3

B       3

 

위와 같이 데이터가 테이블에 들어있을 경우

A와 B가 중복되는 번호는 1입니다.

동일 번호 - A/B 존재할 경우 A만
동일 번호 - A만 존재할 경우 A만
동일 번호 - B만 존재할 경우 B만

A데이터는 중복건이 없지만 B일 경우 데이터는 중복건 여러개 있을수 있고 여러개 다 보여줍니다.

결과물을 아래와같이 얻고 싶습니다.

A 1

B 2

A 4

B 3

B 3

B 3

by 마농 [2020.02.27 12:11:33]

3번에 A,B 중복인데? 왜 다 나오죠?


by 김준수 [2020.02.27 15:05:51]

죄송합니다 수정했습니다


by 마농 [2020.02.27 15:18:56]
WITH t AS
(
SELECT 'A' gb, 1 no
UNION ALL SELECT 'B', 2
UNION ALL SELECT 'B', 1
UNION ALL SELECT 'A', 4
UNION ALL SELECT 'B', 3
UNION ALL SELECT 'B', 3
UNION ALL SELECT 'B', 3
)
SELECT gb, no
  FROM (SELECT gb, no
             , RANK() OVER(PARTITION BY no ORDER BY gb) rk
          FROM t
        ) a
 WHERE rk = 1
;

 

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