关闭

一句SQL查出所有课程成绩最高和最低的学生及其分数

5887人阅读 评论(0) 收藏 举报
分类:

去成都一家游戏公司面试大数据岗,逼格挺高的一家公司偷笑,去了就让做一套题,猝不及防啊。

有一道数据库方面的题是:用一句SQL查出所有课程成绩最高和最低的学生及其分数。


ps:很久没有接触SQL了,当时一脸懵逼啊!咬咬牙开始手写SQL,嗯,我写的SQL有问题,肯定有问题啊,当年学的数据库知识都忘记咯!聊了差不多一个小时的项目,后来面试官顺理成章地很客气地拒绝我了,因为,呃呃,因为我的SQL写得烂,而他们大数据岗对SQL要求挺高的。


好吧,回来再试一试。


表结构:



表数据:


查询结果:


SQL:

SELECT "最高分",student.*
FROM student ,(SELECT MAX(score) AS score,`subject` FROM student GROUP BY `subject`)b
WHERE student.`score` = b.score
AND student.`subject` = b.subject
UNION
SELECT "最低分",student.*
FROM student ,(SELECT MIN(score) AS score,`subject` FROM student GROUP BY `subject`)b
WHERE student.`score` = b.score
AND student.`subject` = b.subject; 

参考:http://www.oschina.net/question/1170042_2184350



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    Always Be Coding
    We have seen that computer programming is an art, because it applies accumulated knowledge to the world.A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better.
    Contact
    Mail:yongcai@my.swjtu.edu.cn Phone:18782924980
    个人资料
    • 访问:232170次
    • 积分:3997
    • 等级:
    • 排名:第8127名
    • 原创:173篇
    • 转载:16篇
    • 译文:0篇
    • 评论:27条
    最新评论