Simple ? : Compter et classer des occurences non numériques et valeurs numériq

cs_bidonator Messages postés 3 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 13 mai 2009 - 12 mai 2009 à 17:58
cs_bidonator Messages postés 3 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 13 mai 2009 - 13 mai 2009 à 08:07
Bonjour à tous
J'ai parcouru ce forum sans trouver la solution à mon problème, bien que certains post se rapproche de mon soucis.
Voici mon problème:

J'ai une table statistique( et log)  avec des noms et des valeurs, par jour

Jour                   / nom  / valeur
mercredi 6 mai  / toto   /     4
mercredi 6 mai  / titi   /      2  
...
jeudi  7 mai  / titi  / 1
jeudi  7 mai  / tata / 0
....
Vendredi 8 Mai / toto / 6

(NB: Je n'ai pas de doublon de nom sur 1 jour)

Je voudrais calculer par nom et les classer en ordre décroissant (faire un top 10 ) , le total de valeur associé, sur 1 mois (peu importe la période, c'est dans une boucle) et obtenir quelque chose comme cela :
Toto 10 (somme sur 1 mois)
Titi 3
Tata ...

Voici mon code
$requete= "SELECT stat_nom as nom, , SUM (stat_valeur) AS totalvaleur FROM table_stat WHERE stat_date LIKE '%$moisref%' ORDER BY totalvaleur ";
                $resultat_req_ = mysql_query($requete); // c'est du PHP
                       While($tableau_resultat =mysql_fetch_array($resultat_req))
                             {
                               $reponse=$tableau_resultat['nom'].' '.$tableau_resultat['totalvaleur'];
                               echo '<td>'.$reponse.'</td>';
                             }
Il me sort hélas qu'un seul nom, avec le nombre total de tous les noms.
Faut-il imbriqué 2 requêtes ?

ma config

<li id="li_mysql_client_version">Version du client MySQL: 5.1.30</li><li id="li_mysql_client_version">PHP 5.2.8
</li>

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
12 mai 2009 à 19:37
Salut

Voici peut etre la requete que tu cherches

select month(jour), nom, sum(valeur)
from stats
group by nom, month(jour)

C'est non testé.

bon dev
0
cs_bidonator Messages postés 3 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 13 mai 2009
13 mai 2009 à 08:07
Merci,j'essaye ce soir
0
Rejoignez-nous