Mam takie zapytanie, które pobiera mi ID osób, których IP nie należy tylko do nich. Na jezyk polski - wyświetla mi ID tych osób, które mają więcej niż jedno konto:
SELECT user_ip, CAST(group_concat(user_id) AS CHAR(1024) CHARACTER SET utf8) AS users_ids FROM `users` GROUP BY user_ip;
Niestety to zapytanie to trochę inaczej wyświetla... Mianowicie, pokazują się wszystkie adresy IP, a obok nich ID userów, nawet tych, którzy nie posiadają multikonta, czyli przykład:
|USERS_IDS| USERP_IP|
| 1 | 123.4324.213
| 4, 3| 54.342.5643
I pierwszy rekord - on nie powinien mi się wyświetlać, gdyż tam tylko jedno ID przypisane jest do tego adresu IP. Pomyslałem, że rozwiążę to w ten sposób:
SELECT user_ip, COUNT(user_id) as how_many, CAST(group_concat(user_id) AS CHAR(1024) CHARACTER SET utf8) AS users_ids FROM `users` WHERE how_many > 1 GROUP BY user_ip;
Ale... niestety, otrzymuję komunikat, iż pole how_many nie istnieje, mimo iż jest zdefiniowane, że pod tą nazwą pola ma się wyświetlać wynik z COUNT.
Jakieś rady dla mnie jak to zrobić, żeby działało jak trzeba?