Soit une table origine avec 2 champs : id_user,ip_user
qui s'incrémente à chaque fois qu'un utilisateur (id unique) se connecte. On stocke donc les ip.
Pour voir si l'utilisateur se connecte depuis trop d'ip différentes j'aimerai pouvoir, en UNE SEULE requête SQL, récupérer les id_user dont les IP (distinctes) sont supérieur à 2 (par exemple).
exemple d'enregistrements :
id_user : 1 ip_user 10.0.0.1
id_user : 2 ip_user 10.0.0.2
id_user : 1 ip_user 10.0.0.1
id_user : 2 ip_user 10.0.0.3
id_user : 1 ip_user 10.0.0.1
id_user : 2 ip_user 10.0.0.4
La requête renverrait donc id_user 2 (puisque se connecte depuis 3 ip différentes).
Copyright © 2024 1QUIZZ.COM - All rights reserved.
Answers & Comments
Verified answer
select id_user, count(ip_user)
from table_users
group by id_user having count(ip_user) >= 2