简单sql问题

 

各班级各科低于年级平均分的人数的SQL咋写0.0


image.png

Mimm 发布于 2020-3-10 11:50
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
asanguosha4252Lv5初级互助
发布于2020-3-10 14:17

select CLASSNO  COURSE, count(*) as '人数' from (

select * from 表 a left join (

select   COURSE as 'COURSE_'  ,AVG(GRADE) as 'AVG_GRADE' from  表 group by COURSE )  b  on  a.COURSE = b.COURSE_  )  c 

 where GRADE < AVG_GRADE  group by CLASSNO ,COURSE 


比较蠢,但是应该能满足你说的,截图不全 默认你整个表都是一个年级。如果不是自己再调整SQL


最佳回答
0
PoseidonLv5高级互助
发布于2020-3-10 11:50(编辑于 2020-3-10 11:52)

弄个子查询,然后当判断条件就好了


类似这样

select * from a

where grade < (select avg(grade) fom a)

最佳回答
0
蒋永利Lv3初级互助
发布于2020-3-10 13:54

SELECT classno,course,COUNT(*) FROM aaa WHERE grade < (SELECT AVG(grade) FROM aaa) GROUP BY course,classno;


  • 4关注人数
  • 483浏览人数
  • 最后回答于:2020-3-10 14:17
    请选择关闭问题的原因
    确定 取消
    返回顶部