LeetCode MySQL 1412. 查找成绩处于中游的学生

文章目录

    • 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: 学生 13 分别获得了最低分和最高分。
对于测验 2: 学生 1 既获得了最高分, 也获得了最低分。
对于测验 34: 学生 14 分别获得了最低分和最高分。
学生 25 没有在任一场测验中获得了最高分或者最低分。
因为学生 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阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java jvm目录,JVM(Java虚拟机)中过程工作目录讲解

JVM(Java虚拟机)中进程工作目录讲解每次我们用Java命令运行我们的Java程序,都会在JVM中开启一个进程,对于每一个进程,都会有一个相对应的工作目录,这个工作目录在虚拟机初始化的时候就已经设置好了,默认的情况下&#…

Javascript 第七天 笔记

通过三天把以前学习的内容复习一下。以便继续学习。 BOM模型 BOM浏览器对象模型 DOM ----> document BOM -----> window Document对象其实是window的一个属性或叫子对象 Window对象的子对象介绍 Window.navigator : 表示浏览器的相关信息 Window.history : 历史记录,或者…

LeetCode MySQL 618. 学生地理信息报告(row_number)

文章目录1. 题目2. 解题1. 题目 一所美国大学有来自亚洲、欧洲和美洲的学生,他们的地理信息存放在如下 student 表中。 | name | continent | |--------|-----------| | Jack | America | | Pascal | Europe | | Xi | Asia | | Jane | Americ…

java非必填字段跳过校验,avalon2表单验证,非必填字段在不填写的时候不能通过验证...

avalon2表单验证,非必填字段在不填写的时候不能通过验证代码var vm avalon.define({$id: "validate1",aaa : "",validate: {onError: function(reasons) {reasons.forEach(function(reason) {console.log(reason.getMessage())})},onValidateAll: functio…

jQuery心得5--jQuery深入了解串讲1

1.CSS-DOM 操作 获取和设置元素的样式属性: css()。 获取和设置元素透明度: opacity 属性(css 的一个属性)。 获取和设置元素高度, 宽度: height(), width(). 在设置值时, 若只传递数字, 则默认单位是 px. 如需要使用其他单位则需传递一个字符串, 例如 $(“p:first”).height(“…

LeetCode MySQL 1225. 报告系统状态的连续日期(date_sub + over)

文章目录1. 题目2. 解题1. 题目 Table: Failed ----------------------- | Column Name | Type | ----------------------- | fail_date | date | ----------------------- 该表主键为 fail_date。 该表包含失败任务的天数.Table: Succeeded --------------------…

mysql tableveiw与表格,javafx将数据库内容输出到tableview表格

一 、创建Fxml文件,用Javafx Scene Builder 编辑页面,创建tableview(表格)和tablecolum(表格中的列),并为其设置fxid;二、生成fxml文件的控制类;三、创建数据库的连接类(使用JDBC驱动);Connect.javaimportj…

UVa 11636 Hello World!

#include<cstdio>#include<cmath>using namespace std;int main(){int n,T1;while(scanf("%d",&n),n>0){printf("Case %d: %d\n",T,(int)ceil(log10(n)/log10(2))); //换底公式}return 0;}转载于:https://www.cnblogs.com/LtRoycePhan…

php mysqliquery 返回值,PHP mysqli_multi_query() 函数_程序员人生

实例执行多个针对数据库的查询&#xff1a;$conmysqli_connect("localhost","my_user","my_password","my_db");// Check connectionif (mysqli_connect_errno($con)){echo "Failed to connect to MySQL: " . mysqli_connec…

LeetCode MySQL 1369. 获取最近第二次的活动(over窗口函数)

文章目录1. 题目2. 解题1. 题目 表: UserActivity ------------------------ | Column Name | Type | ------------------------ | username | varchar | | activity | varchar | | startDate | Date | | endDate | Date | -----------------…

侧边导航栏的实现

F:\java\c侧边栏\侧边菜单栏\MySlidingMenu转载于:https://www.cnblogs.com/ct732003684/archive/2013/03/24/2979416.html

签到 数据库php,php与数据库的连接用法 (签到一)

注册页面//插入js验证window.onload function(){var hid document.getElementById("id");if(hid.value !""){ //当用户名已存在数据库时&#xff0c;提示用户已注册alert("用户名已注册");}}//ht…

LeetCode MySQL 569. 员工薪水中位数(over窗口函数)

文章目录1. 题目2. 解题1. 题目 Employee 表包含所有员工。Employee 表有三列&#xff1a;员工Id&#xff0c;公司名和薪水。 ------------------------- |Id | Company | Salary | ------------------------- |1 | A | 2341 | |2 | A | 341 …

【IEnumerable】扩展方法的使用 C#

直接进入主题吧... IEnumerable : 公开枚举数&#xff0c;该枚举数支持在非泛型集合上进行简单迭代。 好吧&#xff0c;迭代&#xff0c;我就理解成循环&#xff0c;这些名词真晦涩&#xff0c;没意思 今天看的是 Using Extension Methods &#xff0c;使用"扩展方法…

java的制造商,国内某通信设备制造商JavaEE开发岗面试题

1 EJB中有几种Bean&#xff0c;叙述有状态Bean和无状态Bean的区别。答&#xff1a;EJB中有Session Bean&#xff0c;Entity Bean&#xff0c;以及 Message Driven Bean。这两种的 Session Bean都可以将系统逻辑放在 method之中执行&#xff0c;不同的是 Stateful Session Bean …

LeetCode MySQL 571. 给定数字的频率查询中位数

文章目录1. 题目2. 解题1. 题目 Numbers 表保存数字的值及其频率。 ----------------------- | Number | Frequency | -----------------------| | 0 | 7 | | 1 | 1 | | 2 | 3 | | 3 | 1 | -------…

Java中文乱码处理

出现的情况&#xff1a; 表单FORM、POST、GET、超链接、sendRedirect() 解决方法&#xff1a; 如果是POST使用 HttpRequest.setCharacterEncoding("utf-8"); 如果是GET使用 String unew String( req.getParameter("username") .getBytes("iso-8859-1…

mysql 混合模式,SQLServer2005混合模式登录配置(用户登录错误18452,233,4064)

一、错误提示&#xff1a;用户登录失败,该用户与可信SQL Server连接无关联 错误18452原因是远程登录没配置好&#xff0c;配置方法如下&#xff1a;1&#xff1a;开启SQL2005远程连接功能配置工具->SQLServer外围应用配置器->服务和连接的外围应用配置器->打开SQLEXPR…

LeetCode 632. 最小区间(排序+滑动窗口)

文章目录1. 题目2. 解题1. 题目 你有 k 个升序排列的整数数组。 找到一个最小区间&#xff0c;使得 k 个列表中的每个列表至少有一个数包含在其中。 我们定义如果 b-a < d-c 或者在 b-a d-c 时 a < c&#xff0c;则区间 [a,b] 比 [c,d] 小。 示例 1: 输入:[[4,10,15,…

ubuntu安装操作HttpSQS高速队列

HTTPSQS安装 ulimit -SHn 65535wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gztar zxvf libevent-2.0.12-stable.tar.gzcd libevent-2.0.12-stable/./configure --prefix/usr/local/libevent-2.0.12-stable/makemake installcd ../wget http://https…