我试图计算一个百分比......我需要总结列中的所有值(它已经可以)但我需要除以行数...从列和dividide的行数SQL SUM值
select sum(voto) from tablename where id = numberHere
我试图计算一个百分比......我需要总结列中的所有值(它已经可以)但我需要除以行数...从列和dividide的行数SQL SUM值
select sum(voto) from tablename where id = numberHere
使用COUNT
获取总行数。
SELECT SUM(voto)/(COUNT(*) * 1.0)
FROM tablename
WHERE id = numberHere
通过对查询添加* 1.0
将允许对结果小数位。
或仅仅作为
SELECT AVG(voto)
FROM tablename
WHERE id = numberHere
JW的答案是正确的,如果你正在寻找具体总结/分割去做,但SQL具有该功能。它会自动返回与你输入相同的类型(除了日期列,应该解析为秒,然后重新编码到日期)。
AVG应该工作,count(*)应该可以工作,如果您需要使用该数字来做更多事情,您还可以使用@@ rownum来获取语句返回的行数。
和'avg(voto)'不一样吗? –
@a_horse_with_no_name yes'AVG(voto * 1.0)' –
'1.0' hack似乎并不是必须的:http://sqlfiddle.com/#!2/e5b84/1 –