2014-11-16 3 views
0

제목이 약간 잘못되었으므로 여기서 더 잘 설명 할 수 있습니다. 다음과 같은 MySQL 테이블이 있습니다.동일한 값을 가진 열이있는 표에서 항목을 찾으십시오.

mysql> select * from people;

+------+---------------+ 
| name | number  | 
+------+---------------+ 
| John |  100000 | 
| Alex |  200000 | 
| Tim |  500000 | 
| Alice|  100000 | 
| Peter|  500000 | 
+------+---------------+ 

지금은이 테이블, 즉 같은 번호를 가지고있는 사람의 이름을 반환하는 쿼리를 원하는 난 것 존과 앨리스가 반환하는 쿼리 (그들은 같은 번호를 가지고, 100000) 및 팀과 피터 (동일한 번호 500000)

답변

2

시도 자체가 아래와 같이 가입 : 속임수를 썼는지

SELECT p1.name 
FROM people p1 INNER JOIN people p2 
ON p1.number = p2.number 
WHERE p1.name != p2.name 
+0

하나 이상의 이름이 어디 ​​having 절은 케이스를 선택합니다. 감사합니다 – luispcosta

+0

다행히 도왔습니다. 천만에요 :) – SMA

1

숫자 열에 집계하고 group_concat()을 사용하면이 작업을 수행 할 수 있습니다.

select number, group_concat(name) as names 
from table t 
group by number 
having count(*) > 1; 
관련 문제