一个分类汇总的问题

chaiwl8869 2013-03-13 06:35:32
表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
怎么做?谢谢!
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaiwl8869 2013-03-15
  • 打赏
  • 举报
回复
谢谢,几位大侠都来了! 思路很巧妙!
十豆三 2013-03-14
  • 打赏
  • 举报
回复
Select f1,Avg(f2) As avg_f2,Avg(f3) As avg_f3,Sum(Iif(f2!=0,1,0))*100/Count(f2) As f4 From T1 Group By f1
lygcw9602 2013-03-13
  • 打赏
  • 举报
回复
SELECT A.F1,AVG(A.F2) AVG_F2,AVG(A.F3) AVG_F3,sum(IIF(f2!=0,1,0))*100/COUNT(f2) f4 FROM T A GROUP BY 1
xuzuning 2013-03-13
  • 打赏
  • 举报
回复
在分组的情况下 count(f2!=0)*100/count(*) 应写作 sum(iif(f2!=0,1,0))*100/count(*) 你已经有 group by f1 了,不能同时取得全局的数据

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧