database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31312 게시물 읽기
No. 31312
중복된 값을 가지고 있는 데이터를 가져오려고 합니다. ㅠㅠ
작성자
쿼리초보 ㅠㅠ
작성일
2020-09-16 17:29
조회수
2,060

 회원 DB를 정리중에 있는데요 

DI 값이나, 예전 주민번호를 받는게 없어서 정리하기가 꽤 힘드네요;; 

 

아이디, 이름, 생년월일, 핸드폰번호

===========================

aaa  | 김철수  | 000000 | 010-010-0100

 

bbb  | 김철수  | 000000 | 010-010-0100

ccc  | 홍길동  | 000000 | 010-010-0100

ddd | 김영희  | 111111 | 010-111-1111 

eee | 김철희 | 222222 | 010-010-0100 

 

만약 이렇게 데이터가 있다면 

 

저 010-010-0100인 사람들을 쭉 뽑아보고 싶어요 

즉, 핸드폰 번호 기준으로 중복되는 데이터를 가져오게 하고 싶은데, group by 로도 안되고, 

distinct로 해볼라니 그것도 안되고, 서브쿼리를 써야할거 같은데  도움좀 부탁드려요 ㅠㅠ 

 

이 글에 대한 댓글이 총 4건 있습니다.

안녕하세요. 어떤 결과물을 원하시는지 정확히 모르겠네요.

with t as (
select 'aaa' 아이디, '김철수' 이름, '000000' 생년월일, '010-010-0100' 핸드폰번호
union all select 'bbb', '김철수', '000000', '010-010-0100'
union all select 'ccc', '홍길동', '000000', '010-010-0100'
union all select 'ddd', '김영희', '111111', '010-111-1111'
union all select 'eee', '김철희', '222222', '010-010-0100'
)
select 핸드폰번호, group_concat(이름 separator ',') from t group by 핸드폰번호
 
+-----------------+-----------------------------------------+
| 핸드폰번호      | group_concat(이름 separator ',')        |
+-----------------+-----------------------------------------+
| 010-010-0100    | 김철수,김철희,김철수,홍길동             |
| 010-111-1111    | 김영희                                  |
+-----------------+-----------------------------------------+

 

정상규(pajama)님이 2020-09-16 22:08에 작성한 댓글입니다.
이 댓글은 2020-09-16 22:12에 마지막으로 수정되었습니다.

댓글 달아주셔서 감사합니다.

 

 

 

제가 원하는 결과값은

 

 

 

aaa | 김철수 | 000000 | 010-010-0100

 

bbb | 김철수 | 000000 | 010-010-0100

 

ccc | 김철수 | 000000 | 010-010-0100

 

eee | 김철희 | 222222 | 010-010-0100

 

 

 

이렇게 핸드폰 기준으로 동일값일때

 

해당하는 사용자를 모두 가져오고 싶습니다.

 

 

 

이 핸드폰 값을 제가 일일이 직접 넣고 검색하는게 아니라

 

핸드폰번호가 동일한 사람들의 리스트를 모두 가져와라.. 정도가 되겠네요

 

 

쿼리초보님이 2020-09-17 12:45에 작성한 댓글입니다. Edit

이러면 어떨까요?

 

with t as (
select 'aaa' 아이디, '김철수' 이름, '000000' 생년월일, '010-010-0100' 핸드폰번호
union all select 'bbb', '김철수', '000000', '010-010-0100'
union all select 'ccc', '홍길동', '000000', '010-010-0100'
union all select 'ddd', '김영희', '111111', '010-111-1111'
union all select 'eee', '김철희', '222222', '010-010-0100'
union all select 'fff', '장보고', '222222', '010-010-0200'
union all select 'ggg', '이순신', '222222', '010-010-0200'
)
select * from t 
where 핸드폰번호 in (select 핸드폰번호 from t group by 핸드폰번호 having count(*) > 1)

 

정상규(pajama)님이 2020-09-17 13:54에 작성한 댓글입니다.

 오오~! 감사합니다.

쿼리초보님이 2020-09-18 14:01에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
31315alter table 로 언어셋 변경시 myisamchk 를 안해도 괜찮은지 궁금합니다.
하나만
2020-10-12
2075
31314객실에 입장가능한 인원수 검색하기 [1]
이지
2020-09-27
1900
31313MariaDB INSERT중 오류 [3]
Maria
2020-09-24
1964
31312중복된 값을 가지고 있는 데이터를 가져오려고 합니다. ㅠㅠ [4]
쿼리초보 ㅠㅠ
2020-09-16
2060
31311연속근무 구하기 도움요청드립니다. [1]
피어스
2020-09-14
2073
31310insert실행 시 운영중인 서버에 최대한 부담이 가지 않는 방법은 어떤건가요? [1]
왜이러니
2020-09-04
2078
31309mysql 5.7버전에서 프로시저(function) 중복실행됩니다... [2]
주한별
2020-09-03
1907
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다