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
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é)
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é)
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é)