Moyenne avec AVG

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 : Moyenne avec AVG

par stallaf » 24 janv. 2008, 12:30

Merci d0m pour la solution.
Pour le reste, plus de commentaires, je ne souhaite pas polémiquer.
A tchao.

par d0m » 24 janv. 2008, 11:49

Alors ce n'est pas une question de moyenne.
Pour avoir un pourcentage, il te faut :

- le nombre de vote de la réponse du sondage

Code : Tout sélectionner

SELECT nb_votes FROM table WHERE id_sondage=1 AND id_reponses=1
- le nombre total de vote pour le sondage

Code : Tout sélectionner

SELECT SUM(nb_votes) FROM table WHERE id_sondage=1
Ensuite le pourcentage est un simple calcul :
pourcentage = nb_votes_reponse * 100 / nb_votes_total

Il faut donc intégrer la 2ème requete en sous requête à la première et faire le calcul directement en SQL
Par contre, l'ambiance est souvent sévère ici. On peut se tromper, on débute, ce n'est pas forcément facile pour des débutants.
Il me semble que les débutants sont respectés et jamais envoié bouler d'après ce que j'ai vu
par contre il y des règles qui sont pécises et efficaces et qui prennent 5 min seulement à lire.
Elles sont là pour que les messages soient le plus clair possible et donc que la réponse arrive le plus rapidement et simplement possible.

par stallaf » 24 janv. 2008, 11:29

Hum...
Désolé mais le modérateur a posté son message alors que j'étais en train de rédiger le mien. (et effectivement je suis resté un long moment sur cette rédaction) Bref, je n'en avais pas connaissance. J'en ai pris bonne note.
Par contre, l'ambiance est souvent sévère ici. On peut se tromper, on débute, ce n'est pas forcément facile pour des débutants.
Enfin je croyais effectivement que c'était aux modérateurs d'intervenir et de faire éventuellement des reproches et des remarques, les autres, je vois pas.
Bien, comme je cherche de l'aide, peut-être mal exprimée mais pas à me faire taper sur les doigts ou pincer l'oreille, je vais m'abstenir et abandonner ce sujet.
Ah, au fait, Sékiltoyai, bonjour ou un truc du genre, bref les civilités, çà fait pas de mal.
Allez, bye.
(ce message sera peut-être effacé... nous verrons...)

par Sékiltoyai » 24 janv. 2008, 11:13

Tu as reposé exactement la même question. Si un modérateur est passé, c'est pour que tu suives ses instructions, pas pour que tu répètes ce que tu as déjà dit…

par stallaf » 24 janv. 2008, 11:04

Dom, bonjour,
Ok c'est pas clair et mal présenté alors je corrige.
Ma base sondage contient quatre tables. L'une d'entre elle comprend quatre champs contenant bien sur des valeurs :
id_sondage : id_reponses : reponses : nb_votes :
1 : 1 : Ouaou, moi j'adooooooore : 318 :
1 : 2 : Ne se prononce pas : 3 :
1 : 3 : Vous pouvez répéter... : 17 :
1 : 4 : Heu, joker : 10 :

Je souhaite récupérer et afficher en pourcentage le nombre de chaque vote, ce qui donnera :
Aimez-vous PHP FRANCE ? (346 votes)
Ouaou, moi j'adooooooore - 318 votes - 92%
Ne se prononce pas - 3 votes - 1%
Vous pouvez répéter... - 18 votes - 5%
Heu Joker ! - 7 votes - 2%

Voilà, je souhaiterais récupérer les pourcentages ? Est-ce possible directement avec mysql ? Dans ce cas comment faire pour traiter les données renvoyées ?
Merci.

par ouckileou » 24 janv. 2008, 10:45

Modération :
stallaf, afin d'obtenir une réponse sur ce forum, il est indispensable de :

- Préciser quel est le SGBD utilisé ainsi que sa Version
- Poster la Structure des Tables utilisées dans la requête sous la forme d'un "CREATE TABLE ..." :!:
(Vous pouvez exporter la structure d'une table via phpMyAdmin. Retirez les colonnes inutiles)
- Indiquer le message d'erreur SQL le cas échéant.

Pensez à utiliser les balises

Code : Tout sélectionner

pour afficher les requêtes SQL, la Structure des Tables et si nécessaire un échantillon des données. Assurez vous également d'avoir suivi ces [url=http://www.phpfrance.com/forums/voir_sujet-19378.php]conseils de débogage[/url]. [/color]

par d0m » 24 janv. 2008, 09:40

C'est pas très clair ce que tu racontes, veux tu dire que ta table est composé de 4 champs :
N°_de_reponse, nombre_de_vote, champ3, champ4
Et contient donc 4 élements : la réponse1, réponse 2, réponse3 et réponse 4 ?

Et tu veux une moyenne ou un pourcentage?

Moyenne avec AVG

par stallaf » 23 janv. 2008, 21:40

Bonjour à tous,
J'ai un soucis de compréhension ou d'utilisation avec AVG.
Obtenir le résultat de la moyenne d'un champ ne pose pas de problème. Par contre, comment calculer la moyenne de chaque valeur de ce champ. Je m'explique. Je souhaite afficher les moyennes de chaque vote de mes sondages du type :
Aimez-vous PHP FRANCE ? (346 votes)
réponse 1 : Ouaou, moi j'adooooooore (92 %)
réponse 2 : Ne se prononce pas (1%)
réponse 3 : Vous pouvez répéter la question (5%)
réponse 4 : Heu Joker ! (2%)
La table concernée comprend quatre champs dont celui des réponses et du nombre de votes.
Et là j'y arrive pas, pourtant mysql doit savoir faire. Comment récupère-t-on ces données et comment les traite-t-on pour l'affichage ?
Merci d'avance.