MySQL Query显示共享列

时间:2018-01-07 14:18:28

标签: mysql

我有一个表,每次UserID登录时都会保存IP地址。 IP和UserID都是密钥。 它看起来像这样:

IP                UserID
127.0.0.1         100
127.0.0.1         200
111.111.111.111   200
2.3.4.5           300
8.8.8.8           400
111.111.111.111   500

在表格中,您可以看到UserID“200”已使用两个IP(127.0.0.1和111.111.111.111)登录。

我正在考虑一个会返回UserIDs“100”和“500”的查询,因为他们使用相同的IP一次登录。

当查找“200”时,结果将是:

UserID
100
500

什么是有效的查询?

1 个答案:

答案 0 :(得分:2)

select UserID 
from T 
where IP in (
    select IP 
    from T 
    where UserId = '200'
) and UserID != '200'

对于与用户200使用的任何IP匹配的所有IP(即子查询),它显示与200不同的所有用户ID