Petit problème tordu pour ce WE de trois jours
Voilà, une table archivant des demandes de disques. Dans cette table, deux colonnes nous intéressent pour faire des stats : username et userIP.
Je souhaite sortir une liste, dans un premier temps, indiquant les valeurs suivantes :
username : nombre de demandes | nombre d'ip
Pour le nombre de demandes ca c'est ok, mais je rame pour le nombre d'IP
Si je fais cette requête, pas de message d'erreur mais le nombre d'IP pour chaque utilisateur sera le nombre d'IP de 'Couin'
Code : Tout sélectionner
SELECT
username AS usr,
(SELECT COUNT(ID) FROM diskal_memory WHERE diskal_memory.username = usr) AS nb_diskal,
(SELECT Count(userIP) FROM (SELECT DISTINCT diskal_memory.userIP FROM diskal_memory WHERE diskal_memory.username = 'Couin') AS monAlias) AS nb_ip
FROM diskal_memory
GROUP BY username
ORDER BY nb_diskal DESC, username ASC Code : Tout sélectionner
SELECT
username AS usr,
(SELECT COUNT(ID) FROM diskal_memory WHERE diskal_memory.username = usr) AS nb_diskal,
(SELECT Count(userIP) FROM (SELECT DISTINCT diskal_memory.userIP FROM diskal_memory WHERE diskal_memory.username = usr) AS monAlias) AS nb_ip
FROM diskal_memory
GROUP BY username
ORDER BY nb_diskal DESC, username ASC Même si je rajoute "username AS usr" dans les autres SELECT.
C’est sur que je pourrais faire une nouvelle requête dans le while de la première, mais si j'ai la possibilité d'avoir les données en une seule requête, c'est aussi mieux
Si quelqu'un a une astuce, je suis preneur du coup de palme
Merkouin et bon ouiK !