SQL组选择查询

时间:2010-02-06 03:16:15

标签: sql sql-server

我有下表:

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

我想从ipaddress中选择其中的帐户ID,密码和IpAddresses,其中两个密码ipaddresses都相同并且有多个accountid。超过1个accountids具有相同密码和ip的行。 该表的结果是行1,3(ip group 1); 4,6(ip组2); 8,9(组3)。

感谢。

1 个答案:

答案 0 :(得分: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