faire une moyenne en SQL

Le
Roumégou Eric
Bonjour,

plus précisément en mysql, y'a-t-il un moyen par sql de faire une
moyenne qui ne prendrait pas en compte les valeurs négatives.

attendu que AVG(matable.mavaleur) si j'ai 5 valeurs dont 3 à 0 va
diviser la somme par 5(normal) alors que j'aurai besoin qu'elle soit
divisée par 2.

n'existe-t-il pas un fn magique ?

ou un peut être un case qui renverrait null ds le cas de 0, je ne sais
pas comment cela se comporterai ?

Merci de vos réponses.


--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Roumégou Eric
Le #22285311
Roumégou Eric a utilisé son clavier pour écrire :
Bonjour,

plus précisément en mysql, y'a-t-il un moyen par sql de faire une moyenne qui
ne prendrait pas en compte les valeurs négatives.



n'importe quoi !! les valeurs à 0 je voulais dire.



attendu que AVG(matable.mavaleur) si j'ai 5 valeurs dont 3 à 0 va diviser la
somme par 5(normal) alors que j'aurai besoin qu'elle soit divisée par 2.

n'existe-t-il pas un fn magique ?

ou un peut être un case qui renverrait null ds le cas de 0, je ne sais pas
comment cela se comporterai ?

Merci de vos réponses.



--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Daniel
Le #22285451
Le 22/06/2010 10:54, Roumégou Eric a écrit :
Roumégou Eric a utilisé son clavier pour écrire :
Bonjour,

plus précisément en mysql, y'a-t-il un moyen par sql de faire une
moyenne qui ne prendrait pas en compte les valeurs négatives.



n'importe quoi !! les valeurs à 0 je voulais dire.



attendu que AVG(matable.mavaleur) si j'ai 5 valeurs dont 3 à 0 va
diviser la somme par 5(normal) alors que j'aurai besoin qu'elle soit
divisée par 2.

n'existe-t-il pas un fn magique ?

ou un peut être un case qui renverrait null ds le cas de 0, je ne sais
pas comment cela se comporterai ?

Merci de vos réponses.






Bonjour

Select avg(mcolonne) From Where macolonne>0

sinon remplacer les valeurs 0 par null et ensuite faire la moyenne.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Roumégou Eric
Le #22286581
Daniel a écrit :
Le 22/06/2010 10:54, Roumégou Eric a écrit :
Roumégou Eric a utilisé son clavier pour écrire :
Bonjour,

plus précisément en mysql, y'a-t-il un moyen par sql de faire une
moyenne qui ne prendrait pas en compte les valeurs négatives.



n'importe quoi !! les valeurs à 0 je voulais dire.



attendu que AVG(matable.mavaleur) si j'ai 5 valeurs dont 3 à 0 va
diviser la somme par 5(normal) alors que j'aurai besoin qu'elle soit
divisée par 2.

n'existe-t-il pas un fn magique ?

ou un peut être un case qui renverrait null ds le cas de 0, je ne sais
pas comment cela se comporterai ?

Merci de vos réponses.






Bonjour

Select avg(mcolonne) From Where macolonne>0

sinon remplacer les valeurs 0 par null et ensuite faire la moyenne.



Merci de la réponse

la 1ere solution ne peut convenir car c'est sur plusieurs valeurs

la 2ème à laquelle j'avais pensé aussi fonctionne bien

ROUND(AVG(case when PEOPLE_RESULT.RES_VAL01=0 then Null else
PEOPLE_RESULT.RES_VAL01 end),2) AS `Ventes Heures Clients`,
ROUND(AVG(case when PEOPLE_RESULT.RES_VAL02=0 then Null else
PEOPLE_RESULT.RES_VAL02 end),2) AS `Qualité `,
ROUND(AVG(case when PEOPLE_RESULT.RES_VAL03=0 then Null else
PEOPLE_RESULT.RES_VAL03 end),2) AS `Tx Atelier`,



mais hélas on doit aussi laisser tomber car il y a "de vrais zéros".
Enfin le truc est à retenir quand mème.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Publicité
Poster une réponse
Anonyme