SUM et GROUP BY ? - SQL/NoSQL - Programmation
Marsh Posté le 19-03-2012 à 19:45:34
Pour les champs "ENUM", mySQL n'enregistre pas la valeur complète (la chaîne de caractère) pour chaque enregistrement. Chaque valeur a un identifiant et c'est cet identifiant qui est enregistré. Et quand tu fais des traitements numériques, mySQL les fait sur cet identifiant.
Je ne serais pas étonné qu'il commence à 1 ce qui donnerait donc :
- 1 -> '0'
- 2 -> '1'
Du coup, le SUM travaille sur l'identifiant et ne donne pas le bon résultat
Essaye de passer la requête suivante :
SELECT DISTINCT proposed, proposed+0 identifiant FROM stats; |
(le "+0" permet de forcer la conversion valeur->identifiant)
Marsh Posté le 17-03-2012 à 09:09:35
Bonjour,
Lorsque je fais la requête :
$qst = "SELECT `recdate`, COUNT(*), SUM(`proposed`), SUM(`ok`) FROM stats GROUP BY `recdate` ORDER BY `recdate` DESC LIMIT 10;";
Le champ de la 3ème colonne est plus élevé que la seconde (idem 4ème champ) sachant que :
- recdate est de type DATE
- proposed et ok sont des ENUM('0', '1')
En fait je voudrais avoir le nombre de "proposed" et de "OK" synthétisés par jour pour les au plus 10 derniers jours et il me semble que ma requête est bien formattée pour cela... une idée ?
Merci