最近在自学sql,今天看到了一道题,想了半天也没搞明白。 问题: 学生表(学号,姓名,班级,学院) 学习表(学号,课程号,成绩) 课程(课程号,课程名,学分) 问题是查询每个班中被班中同学选的最多的课程的课程名和学分。 求各位大佬指点!!!
6条回答 默认 最新
- 涛哥是个大帅比 2021-04-20 15:40关注
select max(数量),t.课程号,t.班级号,k.课程名,k.学分 from ( select count(1) as 数量,x.课程号,s.班级号 from 学习表 x left join 学生表 s on s.学号 = x.学号 group by x.课程号,s.班级号 order by s.班级号,数量 desc ) t inner join 课程表 k on t.课程号 = k.课程号 group by t.班级号
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报