Ma table :
ID | DATE | USER | VALEURS
Voici le contexte: Chaque user peut apporter plusieurs contribution par jour. Je veux récupérer pour une période donnée, le nombre de jours où chaque user a été actif au moins une fois.
Pour cela je fais :
Cette requete fonctionne bien. Elle dans une boucle 'foreach(user)' boucle dont la liste des Users est tirée d'une table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT DISTINCT `date` FROM pecSsListing WHERE `idUser`='{$oU->id}' AND `date` BETWEEN '{$dateDebut}' AND '{$dateFin}'
Et mon affichage donne : "{$oU->name} a fait ".count(date)." contributions entre le ... et le ..." ;
Mais l'affichage se fait selon l'ordre selon la boucle parente.
Bon but ultime, si c'est possible, serai de grouper les requetes afin de pouvoir, faire un truc du genre (attention je me lance) :
Mais vla t'y pas que cela ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT DISTINCT U.id, U.username, count(*) AS nbr, L.date FROM jos_users U LEFT JOIN jos_pecSsListing L ON U.id=L.idUser WHERE L.idUser='62' AND L.date BETWEEN '2008-07-05' AND '2008-08-05' ORDER BY nbr
Voilà si quelqu'un a eu le courage de me lire et d'essayer de comprendre... une aide serai appréciée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
Partager