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
你不可以添加'where rating> 0'吗? –
我同意@vkp,其中your_col!= 0 – samirk433