2016-05-13 8 views
2

Ich habe user_id und ipSQL Multi-IP-Benutzer wählen

ich alle IPs haben müssen, die mehrere user_id

Beispieltabelle

|user_id| |ip| 
1, 127.0.0.1 
2, 127.0.0.1 
3, 82.12.12.12 
3, 82.12.12.12 
3, 92.15.15.15 

so mein Ergebnis muss sein 127.0.0.1

haben

Die folgende Abfrage gibt mir alle IPs, die mehrmals verwendet werden

SELECT ip, COUNT(user_id) 
    FROM user_login_histories 
    GROUP BY ip HAVING COUNT(DISTINCT(user_id)) > 1 
    ORDER BY ip 

was bin ich

+0

Sie keinen Primärschlüssel haben. Dies kann sich als problematisch erweisen. – Strawberry

Antwort

1

Try this:

SELECT ip, COUNT(DISTINCT(user_id)) 
FROM user_login_histories 
GROUP BY ip 
HAVING COUNT(DISTINCT(user_id)) > 1 
ORDER BY COUNT(DISTINCT(user_id)) 
+1

das funktioniert auch. keine Ahnung, warum ich es nicht selbst machen konnte, eigentlich war ich kurz davor, es zu tun. Danke! –

1

Versuchen Sie, diese fehlt:

SELECT ip, GROUP_CONCAT(DISTINCT user_id) 
FROM user_login_histories 
GROUP BY ip 
HAVING COUNT(DISTINCT user_id) > 1 
ORDER BY COUNT(DISTINCT user_id) DESC 
+2

geben Sie diesen Männern einen Oscar! –