SQL SUM值来自列并除以行数

时间:2013-02-06 15:59:27

标签: php mysql sql select

尝试计算一个百分比......我需要对一列中的所有值求和(它已经没问题了)但是我需要将结果除以行数......

 select sum(voto) from tablename where id = numberHere

3 个答案:

答案 0 :(得分:10)

使用COUNT获取总行数。

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

在查询中添加* 1.0将允许结果上的小数位。

或仅仅作为

SELECT AVG(voto)
FROM   tablename 
WHERE  id = numberHere

答案 1 :(得分:3)

JW的答案是正确的,如果你正在寻找通过Summing / Dividing来实现它,但SQL有一个功能。

SELECT AVG(voto) FROM tablename WHERE id = numberHere

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

答案 2 :(得分:3)

AVG应该工作,count(*)应该工作,你也可以使用@@ rownum来获取语句返回的行数,如果你需要用这个数字做更多的话。