班级分组后,怎么求大于班级平均分的人数
with a as(SELECT a.stu_couid as 科目,a.stu_sco as 成绩,b.sco as 平均成绩
FROM R_SCORE a
left join(select stu_couid,avg(stu_sco) as sco from r_score group by stu_couid) b
on a.stu_couid=b.stu_couid
)
select 科目,count(*)
from a
where 成绩>平均成绩
group by 科目
select class,avg(x) as "最高分",avg(n) as "最低分",avg(g) as "平均分",count(1) as "大于平均分人数" from (
select *,max(成绩) over(partition by class) x ,,min(成绩) over(partition by class) n,avg(成绩) over(partition by class) g from 表 ) a where 成绩 > g group by class