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개의 갯수차이를 확인하면 될까요?
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 를 가진 사람 수