我試圖計算一個百分比......我需要總結列中的所有值(它已經可以)但我需要除以行數...從列和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 –