需要对2个地区的用户名取平均值

时间:2019-01-23 18:50:54

标签: sql tsql sql-server-2012

我需要显示平均值的报告。不幸的是,发现空值时平均值无法计算。 Null确实为0,Null表示不存在.....

enter image description here

我创建了一个示例表来说明问题。 我试图避免做出大写的语句来确定字段的值是否大于0

List

2 个答案:

答案 0 :(得分:0)

尝试用SUM(Sales) /2替换您的SUM((CASE Sales is NULL THEN 0 ELSE Sales END) / 2应该可以达成交易。

编辑。 而且显然与您计算的其他字段相同。

答案 1 :(得分:0)

您为什么要使用SUM()?使用AVG()

SELECT Name, 
       UserName,       
       AVG(Sales), 
       AVG(HoursWorked), 
       AVG(DaysOff)
FROM #Sales
WHERE UserName IN (SELECT UserName FROM #DualTerritoryAgents)
GROUP BY Name, UserName