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

原创 2016年08月31日 13:20:10

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

有一道数据库方面的题是:用一句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



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SQL查询每门课程最高分及人数

--先得到相同学科的最高分数,再查询stud表,找到最高分数的记录 select  course,sudResult,COUNT(course)stuCount  from ( select * f...
  • wym3587
  • wym3587
  • 2015年03月19日 15:52
  • 6806

sql分组例子:查询某门课是最高成绩的记录

一直没有弄熟悉sql分组的问题,前些天看到一个面试题,把弄出来了,发到这里与大家分享一下。 这里介绍一下分组求最高成绩的学生ID的例子,要使用一句sql语句实现。 本来的题目是求每门课最高成绩的学...
  • wym3587
  • wym3587
  • 2015年03月19日 15:56
  • 10043

sql查询50题

use test /* 一个项目涉及到的50个Sql语句 问题及描述: --1.学生表 Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓...

sql查询每个班上成绩最高的学生信息

sql查询每个班上成绩最高的学生信息 数据库表和数据准备: if exists (select * from sysobjects where id = OBJECT_ID('[classin...

SQL的老题目:查询学生平均成绩及其名次

SQL的老题目了。Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tnam...
  • djlzxzy
  • djlzxzy
  • 2009年02月16日 17:39
  • 4297

sql查询学生成绩

有一个学生表,有三个字段: name 、 course 、 score ,每一个学生都有三门课程,比如数学、语文、英语,写 sql 语句,查找出三门课程的成绩都大于 80 的学生。每门课程只有一个成绩...

**发现sql去掉最高分和最低分没多少人写,那我来写一篇**

发现sql去掉最高分和最低分没多少人写,那我来写一篇我现在要实现的业务是去掉专家打分的n个最高分和教师打分的m个最低分,还要从,还有专家和教师的权重,再计算平均分。 我们来理一下逻辑,首先我们要拿到...

sql获取每门课程成绩最好的学生信息

1.相关数据表 Score表 [User]表 SQL语句如下: --查询出各科成绩最好的学生信息 --自连接 --SELECT TOP 1 * FROM Score B WHERE...

查询每个学生的各科成绩sql语句

数据库中有三个表 Student , Course, Grade 分别表示 学生, 课程,成绩 表的结构如下: Student( studentId, name, sex) 分别表示: 学号,姓名...

sql查询每科成绩最高的人和分数

有成绩表scorestable name subject score 张三 语文 80 李四 数学 70 张三 数学 55 李四 语文 77 张三 英语 88 李四...
  • garo123
  • garo123
  • 2017年10月15日 04:51
  • 683
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一句SQL查出所有课程成绩最高和最低的学生及其分数
举报原因:
原因补充:

(最多只允许输入30个字)