假设有2张表,选修课表(id,sid,cid,成绩),学生表(sid,姓名,年龄,性别,专业),
现在要通过SQL求各个专业选修的人数和平均分?
问题:在求人数的时候需要去重,但是求平均分的时候不能去重。请问怎么在一个SELECT语句中实现?
注意:不可以使用DISTINCT,这个问题我是在一道ACCESS数据库题目中发现的,因为ACCESS不支持DISTINCT关键字,结果弄了半天 用一个SELECT弄不出来,必须要分2个才行,所以求助各位,希望能给出满意的答案,多谢各位看官
学生表 left join关联(select sid,sum(成绩)from 选修课表 group by sid)通过sid;
可以得到 学生成绩综合表 (sid,姓名,年龄,性别,专业,sum(成绩))
select 专业,count(专业),avg(sum(sum(成绩))) from 学生成绩综合表 group by 专业 不知道这个平均分是不是楼主想要的平均分。
case
avg(参数名称)