SQL查询求和并除以不同的日期计数
我在寻找一个数据字段的总和,然后用它除以该字段中不同日期的数目SQL查询求和并除以不同的日期计数,sql,sql-server,distinct,Sql,Sql Server,Distinct,我在寻找一个数据字段的总和,然后用它除以该字段中不同日期的数目 SUM(CASE WHEN dateResolved IS NOT NULL THEN 1 ELSE 0 END) / DISTINCT(dateResolved) AvgPerDay 如果dateResolved中有32个日期,有5个不同的日期,我希望它返回6.4。默认情况下,它会执行您需要的整数除法: SUM(CASE WHEN dateResolved IS NOT NULL
SUM(CASE WHEN dateResolved IS NOT NULL
THEN 1 ELSE 0
END) / DISTINCT(dateResolved) AvgPerDay
如果dateResolved中有32个日期,有5个不同的日期,我希望它返回6.4。默认情况下,它会执行您需要的整数除法:
SUM(CASE WHEN dateResolved IS NOT NULL
THEN 1 ELSE 0
END) * 1.0 / COUNT(DISTINCT dateResolved) AvgPerDay
然而,简单的count
也可以:
COUNT(dateResolved) * 1.0 / COUNT(DISTINCT dateResolved) AvgPerDay
COUNT(dateResolved)
将忽略null
值 我会这样做:
SUM(CASE WHEN dateResolved IS NOT NULL
THEN 1.0 ELSE 0
END) / COUNT(DISTINCT dateResolved) as AvgPerDay
但更简单的说法是:
COUNT(dateResolved) * 1.0 / COUNT(DISTINCT dateResolved) as AvgPerDay
您需要一个计数distinct,distinct将只返回实际日期