2011-03-08 85 views
1

我已結果集等 -如何從零列表中找到SQL中的百分比?

id achieved 
1 0 
2 1 
3 1 
4 0 
5 0 

百分數應2/5即40%。我如何編寫一個SQL查詢來實現這樣的事情?我寧願不使用和嵌套選擇,因爲實際的查詢已經做了很多。謝謝 !

回答

2
select avg(achieved) from ... 

請注意,您必須通過功能使用一組包括兩類:

select gender, avg(achieved) from ... group by gender 
+3

+1但是,如果數據類型是'你需要bit''AVG(CAST(AS FLOAT實現) )'或類似的,以避免錯誤「操作數數據類型位對於avg操作符無效」。 – 2011-03-08 23:45:55

+0

嗯,這真的不會給我百分比..我可能會想'100 * avg()'..並會給我百分之!感謝您的回覆! – Vishal 2011-03-09 00:10:15

+0

@Misnomer如果你願意,你可以做平均(達到)* 100。你是這個意思嗎? – 2011-03-09 00:12:21