sql语句查询各门课程平均分的最大值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/H_lukong/article/details/53645874

T_SCORE数据表如下:

本题思路是先求各门课程平均分,然后取最大值。

解法一:

  • select courseno,stuno,avg(score) '平均分最高值'--这里是求平均,后面的条件是过滤最大值的
  • from T_SCORE 
  • group by courseno,stuno
  • having avg(score) >= all (select avg(score) sco--这里是过滤最大值
  • from T_SCORE 
  • group by courseno)

解法二:

select top 1 with ties courseno,avg(score) '平均分最高值'--这里的with ties 就是为了解决相同排名的,找出排列相同的值
from T_SCORE 
group by courseno
order by 平均分最高值 desc 
两种方法的结果都是:


还可以用ROW_NUMBER()函数,等我学会再整理出来。






展开阅读全文

没有更多推荐了,返回首页