0

我正在尝试计算百分比...并且我需要将列中的所有值相加(它已经可以了)但我需要将结果除以行数...

 select sum(voto) from tablename where id = numberHere
4

3 回答 3

10

用于COUNT获取总行数。

SELECT SUM(voto) / (COUNT(*) * 1.0) 
FROM   tablename 
WHERE  id = numberHere

通过添加* 1.0查询将允许结果的小数位。

或者简单地说

SELECT AVG(voto)
FROM   tablename 
WHERE  id = numberHere
于 2013-02-06T16:00:43.680 回答
3

如果您专门通过求和/除法来解决问题,JW 的答案是正确的,但 SQL 有一个功能。

SELECT AVG(voto) FROM tablename WHERE id = numberHere

AFAIK,它会自动返回与您输入的类型相同的类型(日期列除外,应将其解析为秒,然后重新编码为日期)。

于 2013-02-06T16:07:16.557 回答
3

AVG 应该可以工作,count(*) 应该可以工作,如果您需要对该数字执行更多操作,还可以使用 @@rownum 获取语句返回的行数。

于 2013-02-06T16:09:41.077 回答