> Tous les forums > Forum des Webmasters
 MySQL - somme des valeurs d'un champs [->Résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Rolive
  Posté le 23/10/2004 @ 10:51 
Aller en bas de la page 
Petit astucien
Bonjour, Je développe un système de notation et je souhaiterai pouvoir afficher la moyenne des notes pour les enregistrements d'une table x. Une table y contenant les notes fait la relation entre les différents votes des membres avec l'id de l'enregistrement associé de la table x et autre champs dans la table y associe chaque module de votes à une section x ou y pour n'avoir en fait qu'une unique table pour tout les modules de votes. Avec un classement par section, chacun des modules sont totalement indépendants tout en étant sur une seule table. J'espère m'être bien expliqué. bref, ma requête pour calculer le nombre de votes est du style : [code]<? $query="SELECT * FROM user_notes WHERE section = '$section' AND module_id = '$id'"; // $id = la page qui est notée $nb_votes=@mysql_num_rows(@mysql_query($query)); ?>[/code] Ensuite, je voudrais faire une requête calculant la somme totale des valeurs contenues dans le champs note où sont en fait enregistrées tout les votes allant de 0 pour la note la plus basse jusqu'à 10 la plus élevée. Le calcul serait : [code]<? $val_moyenne=(($somme_des_votes / $nb_votes); ?>[/code] Par ex imaginons que la table contienne 4 votes : 2,4,6,8 [code]<? $somme_des_votes=(2+4+6+8); ?>[/code] ($somme_des_votes/4) soit une moyenne de 5. Comment construire la requête SQL pour calculer la $somme_des_votes ?

Modifié par Rolive le 23/10/2004 13:28
Publicité
nono21
 Posté le 23/10/2004 à 12:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour, pour calculer la somme, tu fais la requete SELECT SUM(note) AS somme FROM nom_de_la_table WHERE ... pour récupérer la valeur, $resultat=mysql_fetch_array(mysql_query($requete)); et $somme=$resultat[somme]; Mais tu peux calculer directement la moyenne par le mysql, sans t'emm... à calculer la somme et le nombre de notes, A la place de SUM tu mets AVG et tu fais exactement pareil
Rolive
 Posté le 23/10/2004 à 12:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour mono21 Merci ! [smile] Je vais faire ce que tu m'a dit et je reviens te dire si c'est bon ! Merci beaucoup [smile]
nono21
 Posté le 23/10/2004 à 12:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
De rien, bon courage J'ajoute que pour compter le nombre de notes, tu peux faire pareil mais avec COUNT(user_notes) au lieu de SUM, car avec ton SELECT * si ta table est importante, ça va prendre beaucoup de temps zu serveur. Il vaut mieux faire faire le max de travail par mysql
Rolive
 Posté le 23/10/2004 à 13:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Yes, ça marche nickel ! Merci beaucoup nono [smile] J'ai fais des tests en votant avec deux comptes différents car j'ai limité les votes à un par membre et par module. La moyenne est bien calculée ! Merci aussi pour ton conseil, pour l'instant la table ne contient que 4 enregistrements. Mon site est en construction j'ai encore le temps avant qu'elle n'atteigne 200 votes et+ [crazy] J'ai commençé le site fin juillet et je n'en vois pas la fin! [boom]
Rolive
 Posté le 23/10/2004 à 13:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Merci encore nono Bon week-end ! [clindoeil]
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
24,04 €Enceinte Portable Bluetooth JBL Go 2 à 24,04 € livrée
Valable jusqu'au 25 Juillet

Amazon Allemagne fait une promotion sur l'enceinte portable JBL Go 2 qui passe à 19,16 € (avec la TVA ajustée). Comptez 4,88 € pour la livraison en France soit un total de 24,04 € livrée alors qu'on la trouve ailleurs autour de 35 €. Vous pourrez écouter la musique d'un smartphone, d'une tablette ou d'un baladeur grâce à sa connexion sans fil bluetooth ou avec sa connexion filaire jack 3.5 mm. Cette enceinte ultra légère et robuste peut être emportée partout avec vous. Elle est étanche IPX7 pour piscine, plage et salle de bain. Plusieurs couleurs sont disponibles.

Vous pouvez utiliser votre compte Amazon France sur Amazon DE et il n'y a pas de douane.


> Voir l'offre
179,99 €Ecran 27 pouces incurvé Viewsonic VX2718 (FHD, 165 Hz, 1 ms) à 179,99 €
Valable jusqu'au 25 Juillet

Cdiscount fait une belle promotion sur l'écran 27 pouces incurvé Viewsonic VX2718 qui passe à 179,99 € alors qu'on le trouve ailleurs à partir de 200 €. Cet écran dispose d'une dalle VA Full HD  (1920x1080) à 165 Hz avec un temps de réponse de 1 ms. Il est compatible Adaptive Sync. Au niveau connectique, vous trouverez une entrée DP et deux entrées HDMI. Une très bonne affaire. 


> Voir l'offre
199,99 €Ecran Lenovo 27 pouces G27Q-30 (WQHD, IPS, 75 Hz, FreeSync) à 199,99 €
Valable jusqu'au 25 Juillet

Darty propose actuellement l'écran 27 pouces Lenovo G27Q-30 à 199,99 € alors qu'on le trouve ailleurs à plus de 270 €. Cet écran dispose d'une dalle QHD (2560x1440) à bords fins, avec un temps de réponse de 4 ms et un rafraichissement de 75 Hz. Il possède des entrées DP et HDMI.


> Voir l'offre

Sujets relatifs
tester un champs mysql
Considérer un champs vide mysql non null
rajout données ds champs mysql
test champs base mysql
Wrong parameter count for mysql ==> resolu
PHP/MySQL: count () plusieurs champs
Accès distant à Mysql [RESOLU]
récuperer des valeurs en boucle (php)resolu
[RESOLU]Souci création de table sur MYSQL avec err
MySQL sur CEGETEL - Résolu
Plus de sujets relatifs à MySQL - somme des valeurs d''un champs [->Résolu
 > Tous les forums > Forum Forum des Webmasters