mysql:如图:sql语句应该怎么查其中一门科目的最高分、最低分,平均得分等

武小凡 2018-01-05 08:32:28

如图:sql语句应该怎么根据其中的一个考试时间,查其中一门科目的总人数、评价差的人数和占比,评价中等的人数和占比,评价良好的人数和占比。最高分、最低分,平均得分,得分差。
还有就是怎么根据民族、年龄或者班级。然后根据其中的一个参考时间,查询每一个民族或者每一个年龄或者每一个班级的评价差的人数和占比,评价中等的人数和占比,评价良好的人数和占比。
...全文
1414 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
武小凡 2018-01-05
  • 打赏
  • 举报
回复
引用 3 楼 wuxiao_fan 的回复:
[quote=引用 1 楼 qq_38445797 的回复:] select count(1) as ALL, -- 总人数 (select count(1) from '学生考试表' as a left join '学生表' as b on a.学生ID=b.idwhere a.考试时间='期中考试' WHERE 评价='差') AS badboy, -- 差的人数 badboy/ALL as percent -- 百分比 from '学生考试表' as a left join '学生表' as b on a.学生ID=b.id where a.考试时间='期中考试';
这里只有差的人数和百分比。那中等的和优秀的人数和百分比,最高分、最低分,平均分和得分差。这个该怎么写啊? 还有就是,按照民族或者班级或者年龄。去查其中一个考试时间的各个评价的人数和百分比。 [/quote] 我比较菜
qq_38445797 2018-01-05
  • 打赏
  • 举报
回复
你要明白你查的东西需要做几步,分开做就好了
qq_38445797 2018-01-05
  • 打赏
  • 举报
回复
select * from '学生考试表' as a left join '学生表' as b on a.学生ID=b.id -- 查询全部。 select count(1) as ALL, -- 总人数 (select count(1) from '学生考试表' as a left join '学生表' as b on a.学生ID=b.idwhere a.考试时间='期中考试' WHERE 评价='差') AS badboy, -- 差的人数 badboy/ALL as percent, -- 差的人数的百分比 (select count(1) from '学生考试表' as a left join '学生表' as b on a.学生ID=b.idwhere a.考试时间='期中考试' WHERE 评价='中等') AS middleboy, -- 中等人数 middleboy/ALL as percent, -- 中等人数百分比 (select count(1) from '学生考试表' as a left join '学生表' as b on a.学生ID=b.idwhere a.考试时间='期中考试' WHERE 评价='优秀') AS goodboy, -- 差的人数 goodboy/ALL as percent, -- 优秀人数的百分比 MAX(a.成绩) as maxscore, -- 最高分 MIN(a.成绩) as minscore, -- 最低分 AVG(a.成绩) as avgscore -- 平均分 from '学生考试表' as a left join '学生表' as b on a.学生ID=b.id where a.考试时间='期中考试'; 这不都是一样的吗。。。你要查啥就加一行就是了啊。
武小凡 2018-01-05
  • 打赏
  • 举报
回复
引用 1 楼 qq_38445797 的回复:
select count(1) as ALL, -- 总人数 (select count(1) from '学生考试表' as a left join '学生表' as b on a.学生ID=b.idwhere a.考试时间='期中考试' WHERE 评价='差') AS badboy, -- 差的人数 badboy/ALL as percent -- 百分比 from '学生考试表' as a left join '学生表' as b on a.学生ID=b.id where a.考试时间='期中考试';
这里只有差的人数和百分比。那中等的和优秀的人数和百分比,最高分、最低分,平均分和得分差。这个该怎么写啊? 还有就是,按照民族或者班级或者年龄。去查其中一个考试时间的各个评价的人数和百分比。
qq_38445797 2018-01-05
  • 打赏
  • 举报
回复
表就不要用汉字了吧。。
qq_38445797 2018-01-05
  • 打赏
  • 举报
回复
select count(1) as ALL, -- 总人数 (select count(1) from '学生考试表' as a left join '学生表' as b on a.学生ID=b.idwhere a.考试时间='期中考试' WHERE 评价='差') AS badboy, -- 差的人数 badboy/ALL as percent -- 百分比 from '学生考试表' as a left join '学生表' as b on a.学生ID=b.id where a.考试时间='期中考试';

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧