文章目录

  • 1. 题目
  • 2. 解题

1. 题目

表: Student

+---------------------+---------+
| Column Name         | Type    |
+---------------------+---------+
| student_id          | int     |
| student_name        | varchar |
+---------------------+---------+
student_id 是该表主键.
student_name 学生名字.

表: Exam

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| exam_id       | int     |
| student_id    | int     |
| score         | int     |
+---------------+---------+
(exam_id, student_id) 是该表主键.
学生 student_id 在测验 exam_id 中得分为 score.

成绩处于中游的学生是指至少参加了一次测验, 且得分既不是最高分不是最低分的学生。

写一个 SQL 语句,找出在所有测验中都处于中游的学生 (student_id, student_name)。

不要返回从来没有参加过测验的学生。返回结果表按照 student_id 排序。

查询结果格式如下。

Student 表:
+-------------+---------------+
| student_id  | student_name  |
+-------------+---------------+
| 1           | Daniel        |
| 2           | Jade          |
| 3           | Stella        |
| 4           | Jonathan      |
| 5           | Will          |
+-------------+---------------+Exam 表:
+------------+--------------+-----------+
| exam_id    | student_id   | score     |
+------------+--------------+-----------+
| 10         |     1        |    70     |
| 10         |     2        |    80     |
| 10         |     3        |    90     |
| 20         |     1        |    80     |
| 30         |     1        |    70     |
| 30         |     3        |    80     |
| 30         |     4        |    90     |
| 40         |     1        |    60     |
| 40         |     2        |    70     |
| 40         |     4        |    80     |
+------------+--------------+-----------+Result 表:
+-------------+---------------+
| student_id  | student_name  |
+-------------+---------------+
| 2           | Jade          |
+-------------+---------------+对于测验 1: 学生 1 和 3 分别获得了最低分和最高分。
对于测验 2: 学生 1 既获得了最高分, 也获得了最低分。
对于测验 3 和 4: 学生 1 和 4 分别获得了最低分和最高分。
学生 2 和 5 没有在任一场测验中获得了最高分或者最低分。
因为学生 5 从来没有参加过任何测验, 所以他被排除于结果表。
由此, 我们仅仅返回学生 2 的信息。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-the-quiet-students-in-all-exams
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

# Write your MySQL query statement below
select student_id, student_name
from
(select distinct student_idfrom Examwhere student_id not in(select distinct student_idfrom Exam e left join(    # 考试最高、最低分 select exam_id, max(score) maxs, min(score) minsfrom Examgroup by exam_id) tusing(exam_id)where score = maxs or score = mins # 分数等于最高的或者最低的学生)
) t
left join Student
using(student_id)
order by student_id

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode MySQL 1412. 查找成绩处于中游的学生相关推荐

  1. 学习笔记 | 查找成绩排名第二的学生

    查找成绩排名第二的学生 假设有这样的一张表student: name mark --------------- Alice 98 Bob 67 Eric 75 Kato 84 首先找到排名第一的学生: ...

  2. LeetCode MySQL 1741. 查找每个员工花费的总时间

    文章目录 1. 题目 2. 解题 1. 题目 表: Employees +-------------+------+ | Column Name | Type | +-------------+--- ...

  3. LeetCode MySQL解题目录

    已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...

  4. mysql多表成绩查询_MySQL多表查询答案

    一.综合练习 1.1 init.sql文件内容 /* 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Serv ...

  5. 查找和排序算法的学生成绩分析实验

    基于查找和排序算法的学生成绩分析实验 一.实验内容 二.实验原理 三.实验代码记录 四.实验结果 一.实验内容 编写程序将自己学号后面的8位同学的学号.姓名以及数学.英语和数据结构的成绩信息保存到学生 ...

  6. LeetCode MySQL 1308. 不同性别每日分数总计(累加/变量/窗口函数)

    文章目录 1. 题目 2. 解题 1. 题目 表: Scores +---------------+---------+ | Column Name | Type | +--------------- ...

  7. mysql查询班级作业提交情况_MySQL中查询获取每个班级成绩前三名的学生信息

    标签: 今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了. CREATE TABLE t_testscore(    pk_id INT ...

  8. Mysql查询各科成绩前三名并分别排序

    Mysql查询各科成绩前三名并分别排序 这个问题是之前1个朋友学mysql他们老师布置的作业,一开始我没有做过,而且刚出来做开发很多学过的东西都忘记了. 表结构如下: 一开始我是这样写的: selec ...

  9. [算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置

    LeetCode 专题 – 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置 难度:中等 题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值 ...

最新文章

  1. 论文阅读:FFDNet:Toward a Fast and Flexible Solution for CNN based Image Denoising
  2. Snapshot Volume 操作 - 每天5分钟玩转 OpenStack(58)
  3. 马斯克学什么计算机语言,马斯克头脑风暴——对计算机如醉如痴
  4. 苹果状态栏HTML,CSS3实现苹果电脑的DOCK菜单栏_html/css_WEB-ITnose
  5. m.pythontab.com_Python expandtabs()函数的使用
  6. python与excel的应用-python怎样在excel中应用?
  7. 用SqlDataAdapter.Update(DataSet Ds)更新数据库
  8. 2013-3-14 生活日记
  9. 饥荒联机版服务器显示错误,小白求问 搭服务器出现这种情况是怎么回事
  10. 击败酷睿i9之后,有人又拿苹果M1去挑战英伟达V100了
  11. 1000个摄像头的网络怎么搭建?为什么500个就卡的不行?
  12. js闭包,这个算是比较通俗的了(转)
  13. css盒模型(附图解)
  14. C语言经典例题,结构体
  15. 自动控制原理9.3---线性定常系统的反馈结构及状态观测器
  16. 中国诞生全球最强量子模拟器 量子计算迈出大步
  17. PDF文件怎么才能编辑里面的内容
  18. Linux共享后无权限访问,Samba服务无权限访问
  19. ElasticsearchException解决方案
  20. hive client 登录报权限不足问题/tmp/hive on HDFS should be writable. Current permissions are: rwx------

热门文章

  1. JavaWeb笔记03-Servlet
  2. VS toolTip1控件的使用1
  3. 笔试常见的智力题(附答案)
  4. jtoken判断是否包含键_Redis 数据库、键过期的实现
  5. java 对象加密_java.security包实现对象加密
  6. ue4集合类型_UE4粒子系统渲染管线概述
  7. ARM的7种工作模式、37个通用寄存器、CPSR程序状态寄存器
  8. matlab中的qr函数
  9. vue.js 四(指令和自定义指令)
  10. 注册tomcat为服务