Wykorzystanie liczby z COUNT(*) w warunku zapytania

0

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?

0

poczytaj o HAVING, i tam wpisz warunek how_many>1

0

Oczywiście działa, dziękuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1