0
У меня есть столбец, где я могу получить 0 значений, но мне нужно рассчитать среднее значение этого столбца, не считая эти 0 в качестве части разделителя.Сделать AVG() игнорировать 0?
У меня есть следующий запрос:
SELECT AVG(CAST(RATING AS NUMERIC(18, 2))) AS AVERAGE,
QUESTIONID,
Questions.SHORTVERSION,
COUNT(CASE
WHEN RATING > 0
THEN 1
ELSE NULL
END) AS COUNT
FROM AnswersRating
INNER JOIN Questions ON Questions.ID = QUESTIONID
WHERE SURVEYID IN
(
SELECT ID
FROM SURVEYS
WHERE FLIGHTDATAID = '8371'
)
GROUP BY QUESTIONID,
Questions.SHORTVERSION
ORDER BY QUESTIONID;
Я где-то читал, что я могу использовать NULLIF
, чтобы помочь, но я не мог понять, как использовать его правильно. Кто может мне помочь?
Вы можете использовать NULLIF. NULLIF (RATING, 0) – VDK
вы не можете добавить 'где рейтинг> 0'? –
Я согласен с @vkp, где your_col! = 0 – samirk433