어떤컬럼값이 중복이 있는지 없는지 확인하고싶습니다 1

by 초보 [2023.08.21 16:27:59]


주민번호 회원ID 회원유형 시간
991201-111111 abc 1 2023-08-10
991201-111111 saddfas 2 2023-08-10
991201-111111 fsqasdf 3 2023-08-10
991201-111111 fsafds 1 2023-08-10
850812-123912 dfazxf 2 2023-08-10
850812-123912 adffsa 3 2023-08-10
880121-123414 zxcdfa 1 2023-08-10

 

위 테이블의 주민번호는 한사람 당 한개씩인데요 (가령 두사람이 동일한 주민번호를 같는다는 경우는 없습니다!)

그런데 회원ID 중복이 있는지 없는지가 궁금합니다 

예를 들면 991201-111111에 해당하는 회원ID가 'abc'인데 또 다른 주민번호를 가진 사람이 회원ID'abc'가 있는지처럼

두사람 이상이 동일한 회원ID를 갖는경우가 있는지 찾고싶은데요

 

select count(*) from ( select 회원id,주민번호 from 테이블 group by 회원id,주민번호)

select count(*) from ( select 회원id from 테이블 group by 회원id)

 

이렇게 해서 2개의 갯수차이를 확인하면 될까요?

by 우주민 [2023.08.21 16:55:51]
SELECT 회원ID
, COUNT(1) AS CNT_1 
, COUNT(DISTINCT 주민번호) AS CNT_2
FROM 테이블
GROUP BY 회원ID
HAVING COUNT(1) > 1
-- > 회원ID 가 2개 이상인 경우 데이터 추출 됨
-- > CNT_1 : 동일 회원ID 사용중인 갯수 , CNT_2 : 해당 회원ID 를 가진 사람 수

 

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