Omn*_*Owl 2 sql sql-server average sql-server-2012
我有一列可以得到0值的列,但是我需要计算该列的平均值而不将那些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;
Run Code Online (Sandbox Code Playgroud)
我在某处阅读了可以NULLIF用来帮助实现此目标的信息,但无法弄清楚如何正确使用它。有人可以帮助我吗?