2010-02-06 5 views
1

나는 다음과 같은 테이블이 :SQL 그룹 선택 쿼리

----------- ---------- ----------- 
| AccountID | Password | IpAddress | 
----------- ---------- -----------| 
| 1   1234  127.0.0.1 | 
| 2   123  127.0.0.1 | 
| 3   1234  127.0.0.1 | 
| 4   12  127.0.0.2 | 
| 5   123  127.0.0.2 | 
| 6   12  127.0.0.2 | 
| 7   1   127.0.0.2 | 
| 8   123  127.0.0.3 | 
| 9   123  127.0.0.3 | 
----------- ---------- ----------- 

나는 두 암호의 IP를 대상이 동일하고 하나 개 이상의 계정 아이디가 어디 IPADDRESS별로 그룹화 그것에서 accountIDs, 암호 및 IP를 대상을 선택합니다. 하나 이상의 accountid가 동일한 암호와 ip를 갖는 행. 이 테이블의 결과는 행 1,3 (ip group 1)이됩니다. 4,6 (ip 군 2), 8,9 (군 3).

감사합니다. 내가 제대로 이해하면

답변

3

, 이것은 당신이 원하는 무엇

select t1.* from(select password, IpAddress 
from YourTable 
group by password, IpAddress 
having count(*) > 1) t2 
join YourTable t1 on t1.IpAddress = t2.IpAddress 
and t1.password= t2.password