Bonjour,

j'ai déjà cherché à gauche à droite, mais je n'ai pas trouvé de réponse à cette question apparemment assez simple...

Mon problème est le suivant: dans une table, je stocke 4 paramètres, S1, S2, S3 et S4. Je souhaite créer une vue qui me calcule la moyenne de ces 4 paramètres pour donner un indice ind_s.

Pour l'instant, je calcule de façon naïve:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT (s1 + s2 + s3 + s4) / 4 AS ind_s 
FROM my_table
Le souci est que certains paramètres peuvent parfois être NULL.

Si mes valeurs sont: 10, 20, 30, 40, la moyenne calculée est 25
Si mes valeurs sont: 10, 20, NULL, 40, la moyenne calculée est 17.5. Je souhaiterais qu'elle soit 23.3 ((10+20+40)/3)

Quelqu'un a-t-il une idée?

La requête

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT avg(s1, s2, s3, s4) AS ind_s 
FROM my_table
Ne fonctionne évidemment pas mais c'est le comportement que je souhaite imiter.

Merci d'avance et meilleures salutations,

Stéphane