2010-02-06 7 views
1

Je le tableau suivant:Groupe SQL requête Select

----------- ---------- ----------- 
| 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 | 
----------- ---------- ----------- 

Je veux sélectionner accountIDs, mots de passe et IpAddresses de celui-ci regroupés par ipaddress où les deux mots de passe ipaddresses sont les mêmes et ont plus d'un accountid. Lignes où plus d'un compte a le même mot de passe et adresse IP. Le résultat de cette table serait les lignes 1,3 (groupe ip 1); 4,6 (groupe ip 2), 8,9 (groupe 3).

Merci.

Répondre

3

Si je vous ai bien compris, c'est ce que vous voulez

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