|
Bonjour, Je récupére des données et les affiche par mois Voici ma requete
SELECT
                                          COUNT(distinct lm.id_lm) AS totallm,
                                          DATE_FORMAT(lm.date_enreg, '%m') AS mois,
                                          lm.noeud,
                                          lm.date_enreg,
                                          nb.reference,
                                          nb.noeud_brabant,
                                          nb.nbr,
                                          COUNT(distinct dt.id_dt) AS totaldt,
                                          dt.noeud_dt,
                                          DATE_FORMAT(dt.date_enreg, '%m') AS  moisdt,
                                          COUNT(distinct lm.id_lm) / nb.nbr * 100 AS EN
                                      FROM ampli_lm AS lm, ampli_dt AS dt, noeud_brabant AS nb
                                      WHERE dt.noeud_dt = lm.noeud AND lm.noeud = nb.noeud_brabant
                                      GROUP BY mois,lm.noeud
                                     Â
Je récupére bien mes données mais si par exemple j'ai un encodage en novembre et d'autre en décembre il m'affiche le bon total d'encodage mais tout ds le mois de décembre :?: Donc en décembre il reprend aussi ceux de Novembre ??? et j'affiche els résultat comme ceci
//récup info LM
                        $lmsetptembre = (($row['mois']=='09')? $row['totallm'] : "").'</br>';
                        $lmoctobre    = (($row['mois']=='10')? $row['totallm'] : "").'</br>';
                        $lmnovembre  = (($row['mois']=='11')? $row['totallm'] : "").'</br>';
                        $lmdecembre  = (($row['mois']=='12')? $row['totallm'] : "").'</br>';
                        $lmjanvier    = (($row['mois']=='01')? $row['totallm'] : "").'</br>';
                        $lmfevrier    = (($row['mois']=='02')? $row['totallm'] : "").'</br>';
                        $lmmars      = (($row['mois']=='03')? $row['totallm'] : "").'</br>';
                        $lmavril      = (($row['mois']=='04')? $row['totallm'] : "").'</br>';
                        $lmmai        = (($row['mois']=='05')? $row['totallm'] : "").'</br>';
                        $lmjuin      = (($row['mois']=='06')? $row['totallm'] : "").'</br>';
Ou est mon erreur :?:
D'avance merci |
|
bonjour,
J'ai peut être une piste, je crois le distinct de COUNT(distinct lm.id_lm) ne fait pas toujours bon ménage avec un GROUP BY
Par contre j'ai pas bien compris l'erreur d'affichage : Tu as des enregistrements en novembre et en décembre, pour chaque mois tu veux le total d'enregistrements du mois, mais il affiche le total du mois de novembre et de celui de décembre dans $lmdecembre ?
si c'est le cas, le COUNT(distinct lm.id_lm) ne fait pas l'affaire, si la colonne id_lm et une clé en auto_increment tu peux modifier par COUNT(lm.id_lm). -- Ce qui donne une éventuelle matière à suspecter une quelconque propagande ... |