如何从0和1的列表中查找SQL中的百分比?
我有这样的结果集-如何从0和1的列表中查找SQL中的百分比?,sql,sql-server-2005,Sql,Sql Server 2005,我有这样的结果集- id achieved 1 0 2 1 3 1 4 0 5 0 百分比应为2/5,即40%。如何编写SQL查询以实现类似的功能?我不希望使用和嵌套select,因为实际查询已经做了很多。谢谢 select avg(achieved) from ... 请注意,您必须使用group by函数来包括类别: select gender, avg(achieved) from ... group by gender +1但如果数据类型为位则需要
id achieved
1 0
2 1
3 1
4 0
5 0
百分比应为2/5,即40%。如何编写SQL查询以实现类似的功能?我不希望使用和嵌套select,因为实际查询已经做了很多。谢谢
select avg(achieved) from ...
请注意,您必须使用group by函数来包括类别:
select gender, avg(achieved) from ... group by gender
+1但如果数据类型为
位
则需要AVG(CAST(实现为FLOAT))
或类似内容,以避免出现错误“操作数数据类型位对AVG运算符无效”。这实际上并没有给我百分比。我可能想做100*AVG()
。并且会给我百分比!谢谢你的回复@如果你想的话,你可以做平均值(已实现)*100。这就是你的意思吗?