一个分类汇总的问题
表T1,3个字段
f1,f2,f3
1 0 22
1 0.01 20
2 0 32
2 0 24
...
需求:
按f1分类汇总,要f2的分类平均值、f3的分类平均值、以及f2中不为0的行数占本组总行数的百分比。
我的代码如下,失败
select avg(f2),avg(f3),count(f2!=0)*100/count(*) as f4 from T1 group by f1
f4全部为100
怎么做?谢谢!
[解决办法]
在分组的情况下
count(f2!=0)*100/count(*)
应写作
sum(iif(f2!=0,1,0))*100/count(*)
你已经有 group by f1 了,不能同时取得全局的数据