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
两种方法的结果都是: