Comment faire la somme des enregistrements d'un champ

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment faire la somme des enregistrements d'un champ

par Nico128 » 13 déc. 2005, 20:40

Ah oké, merci pour l'information :D

@+

par jobherzt » 13 déc. 2005, 20:33

comme son nom l'indique, group by regroupe les resultats. donc si tu avais plusieurs notes par pseudo, et que tu utilisais group by pseudo, effectivement ca devrais te donner un resultat faux. je savais que le AS etait indispensable pour que tu puisses ensuite manipuler les donnees, mais je pensais que le pb apparaitrais au niveau de php, pas directement au niveau de la requete. content que ca aie marche !

par Nico128 » 13 déc. 2005, 20:31

Ahh finalement j'ai compris, ca marche ! C'est :
$sql2 = "SELECT SUM(note_commentaire) as somme FROM test_commentaire_64";
Sans le GROUP BY mais avec le AS

Merci :wink:

par Nico128 » 13 déc. 2005, 20:21

Ah oui là ça affiche bien des chiffre. Mais je vois pas du tout en raport avec quoi. Quand je change GROUP BY pseudo en GROUP BY et autre chose ça me donne un autre nombre.

par jobherzt » 13 déc. 2005, 20:15

effectivement, il peut falloir utiliser group by. tu ne dis pas si tu as une erreur quand tu essaies ? sinon, pour pouvoir recuperer le resultat, le plus simple est de lui donner un nom. en effet note_commentaire ne peut pas designer sum(note_commentaire). donc il faut utiliser :

select sum(note_commentaire) as somme ...

puis echo data['somme'];

par Nico128 » 13 déc. 2005, 20:09

questionidiote mais on ne sais jamais : est tu sur que 'note' est un entier dans ta base ? sinon ca peut creer des pbs. sinon, la... je ne vois pas trop !
enfaite dans mon 1er poste je disais qu'il s'apellais "note" mais en vrai il s'apelle "note_commentaire". Désolé

par Nico128 » 13 déc. 2005, 20:08

Il me semble avoir aussi lu qu'il fallait utilisé GROUP BY alors jai modifier :
$sql2 = "SELECT SUM(note_commentaire) FROM test_commentaire_64 GROUP BY pseudo";
Mais rien ne s'affiche. J'ai mis avec echo :
echo $data['note_commentaire'];
Il faut mettre autre chose ?

par jobherzt » 13 déc. 2005, 20:07

questionidiote mais on ne sais jamais : est tu sur que 'note' est un entier dans ta base ? sinon ca peut creer des pbs. sinon, la... je ne vois pas trop !

par Nico128 » 13 déc. 2005, 19:47

J'ai aussi lu sa, alors j'ai essayé :
$sql2 = "SELECT SUM(note_commentaire) FROM test_commentaire_64";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error()); 
while($data = mysql_fetch_assoc($req2)) 
{
echo $data['note_commentaire'];
}
¨

Mais :
Erreur SQL !
SELECT SUM(note_commentaire) FROM test_commentaire_64'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1
Je vois pas trop le problème... :?

Merci d'avance

par jobherzt » 13 déc. 2005, 19:17

tu as une fonction sum dans la syntaxe sql. :

select sum(note) from maTable

Comment faire la somme des enregistrements d'un champ

par Nico128 » 13 déc. 2005, 19:00

Salut tout le monde !

Alors voilà, j'ai un champ qui s'apelle "note". On peux y enregistrer un nombre de 1 à 20.

J'aurais voulu savoir si il était possible, et si oui comment, d'additionner tous les nombre qui se trouve dans le champ "vote" ?

J'ai chercher sur le forum, mais j'ai pas du utiliser les bon mot clé, surement parce que j'en ai aucune idée comment ça se présente.

Voila, merci d'avance :D

[Edite] 2sec je crois que j'ai trouvé comment faire, je test et si ca marche j'efface celui-ci