求总数后的平均值

时间:2021-07-19 22:30:55

标签: sql sql-server

我有疑问

output

结果

SELECT language, COUNT(language) AS countx, sum(COUNT(language)) OVER() AS totalcount
FROM table1
where Language is not null
GROUP BY Language

不确定如何从每个组的 countx/totalcount 获得 AVG,所以 1672/1693 和 21/1693。
谢谢。

1 个答案:

答案 0 :(得分:0)

只要分开:

SELECT language, COUNT(language) AS countx,
       sum(COUNT(language)) OVER () AS totalcount,
       COUNT(language) * 1.0 / sum(COUNT(language)) OVER()
FROM table1
WHERE Language is not null
GROUP BY Language ;

有些数据库做整数除法,这就解释了 * 1.0

相关问题