access的SQL语句,写一个能筛选出最受欢迎的人的语句 100

表的内容里有科目名,教师ID,教师姓名,是否得到好评(这一栏就是-1和0区别的)要选出最受欢迎的老师,需要数出这个表里各个教师得到的好评非好评的总数a(也就是其教师ID出... 表的内容里有
科目名,教师ID, 教师姓名,是否得到好评(这一栏就是-1和0区别的)
要选出最受欢迎的老师,
需要数出这个表里各个教师得到的好评非好评的总数a(也就是其教师ID出现的次数)
还有各个教师得到的好评数b(即每个教师得到值为-1的次数)
然后将b/a,得出的数字就是好评率了
最后要按好评率高到低排序就行
请问这要怎么用SQL写
急需
展开
 我来答
wolfy1016
2012-04-18 · TA获得超过244个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:287万
展开全部
可以把同一个教师,不同科目的好评分开。如果不分开,把中间的科目名全部去掉就行了。
select N.科目名,N.教师ID, N.教师姓名,M.HPL from
(select max(e.b/f.a) AS HPL
from ((select 科目名,教师ID, 教师姓名, count(*) as b from table where hp=-1 group by 科目名,教师ID, 教师姓名)e
left join
(select 科目名,教师ID, 教师姓名, count(*) as a from table group by 科目名,教师ID, 教师姓名)f
on f.科目名=e.科目名 and f.教师ID=e.教师ID and e.教师姓名=f.教师姓名 )
) M
left join
(select e.科目名,e.教师ID, e.教师姓名,e.b/f.a AS HPL
from ((select 科目名,教师ID, 教师姓名, count(*) as b from table where hp=-1 group by 科目名,教师ID, 教师姓名)e
left join
(select 科目名,教师ID, 教师姓名, count(*) as a from table group by 科目名,教师ID, 教师姓名)f
on f.科目名=e.科目名 and f.教师ID=e.教师ID and e.教师姓名=f.教师姓名 )
) N
ON N.HPL=M.HPL
如果需要第个科目最受欢迎的教师,
select N.科目名,N.教师ID, N.教师姓名,M.HPL from
(select e.科目名,max(e.b/f.a) AS HPL
from ((select 科目名,教师ID, 教师姓名, count(*) as b from table where hp=-1 group by 科目名,教师ID, 教师姓名)e
left join
(select 科目名,教师ID, 教师姓名, count(*) as a from table group by 科目名,教师ID, 教师姓名)f
on f.科目名=e.科目名 and f.教师ID=e.教师ID and e.教师姓名=f.教师姓名 )
gropy by e.科目名
) M
left join
(select e.科目名,e.教师ID, e.教师姓名,e.b/f.a AS HPL
from ((select 科目名,教师ID, 教师姓名, count(*) as b from table where hp=-1 group by 科目名,教师ID, 教师姓名)e
left join
(select 科目名,教师ID, 教师姓名, count(*) as a from table group by 科目名,教师ID, 教师姓名)f
on f.科目名=e.科目名 and f.教师ID=e.教师ID and e.教师姓名=f.教师姓名 )
) N
ON N.HPL=M.HPL
micro0369
2012-04-18 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3923万
展开全部
select id,a,b,a/b hpl from ( select id,(select count(*) from table a where hp=-1 and a.id=table.id) a,select count(*) from table a where a.id=table.id) b from table ) ta
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式