SELECT DISTINCT(user),user,ip FROM logins GROUP by ip
这应该从登录表中选择具有相同ip的唯一用户。由于某种原因,它只返回一行。不应该拉动没有冲突的ips的用户。
答案 0 :(得分:2)
SELECT DISTINCT
logins1.user user1,
logins2.user user2,
logins1.ip
FROM logins logins1
JOIN logins logins2
ON logins2.user > logins1.user
AND logins2.ip = logins1.ip
;
以上内容将找到每对不同的user
与ip
共同的ip
以及{{1}}。 (注意如果两个以上的用户都共享一个IP,这将为该IP返回多行。例如,对于四个用户A / B / C / D,它将返回六行AB / AC / AD / BC / BD / CD。可以吗?)
答案 1 :(得分:1)
从登录中选择用户,ip,其中ip in(
通过ip HAVING COUNT(用户)> SELECT ip FROM登录组1)
答案 2 :(得分:0)
DISTINCT表示“不同”,如果您的所有用户都具有相同的ip
,则使用GROUP BY ip
将只显示您表格中的一条记录。您的查询是正确的!
如果要显示所有记录,但DISTINCT是用户。 (拆分重复记录,然后从查询末尾删除GROUP BY)