sql练习:不及格课程数大于2的学生的平均成绩及其排名

news/2024/10/8 16:22:18/

有学生每科科目成绩,求不及格课程数大于2的学生的平均成绩及其成绩平均值后所在的排名。


CREATE TABLE t6_scores (
sid bigint COMMENT '学生ID',
cid bigint COMMENT '课程ID',
score bigint COMMENT '得分'
) COMMENT '用户课程分数';
-- 插入数据
insert into t6_scores(sid,cid,score)
values
(1,1,90),
(1,2,50),
(1,3,72),
(2,1,40),
(2,2,50),
(2,3,22),
(3,1,30),
(3,2,50),
(3,3,52),
(4,1,90),
(4,2,90),
(4,3,72)

1.使用聚合函数计算出每个学生的平均成绩、不及格科目数

select sid,avg(score)                                  as avg_score,sum(case when score < 60 then 1 else 0 end) as fail_num
from t6_scores
group by sid

2.根据平均成绩计算排名

DENSE_RANK() 是 MySQL 中的一个窗口函数,用于为结果集中的每一行分配一个排名,这个排名是连续的,即使有相同的排名值也不会出现间隔。这个函数在分区或结果集中的每一行分配排名时,相同的值会得到相同的排名,而且下一个不同的值会继续按顺序排名,不会有间断

select sid,avg_score,fail_num,dense_rank() over (order by avg_score desc) as rn
from (select sid,avg(score)                                  as avg_score,sum(case when score < 60 then 1 else 0 end) as fail_numfrom t6_scoresgroup by sid) t

3.得到最终结果

select sid,avg_score,rn
from (select sid,avg_score,fail_num,dense_rank() over (order by avg_score desc) as rnfrom (select sid,avg(score)                                  as avg_score,sum(case when score < 60 then 1 else 0 end) as fail_numfrom t6_scoresgroup by sid) t) tt
where fail_num > 2


http://www.ppmy.cn/news/1536218.html

相关文章

无人机培训机构配套教学无人机技术详解

无人机培训机构配套的教学无人机技术&#xff0c;是一个涉及多学科交叉、技术密集型的领域。以下是对该技术的详细解析&#xff1a; 一、无人机技术概述 无人机技术是一个涵盖航空工程、电子工程、计算机科学、材料科学和人工智能等多个学科的综合性领域。其核心在于实现无人…

Linux安装virtualenvwrapper

workon 是 virtualenvwrapper 工具的一部分&#xff0c;用于管理 Python 虚拟环境。如果你看到这个错误&#xff0c;可能是因为 virtualenvwrapper 没有正确安装或配置。 解决步骤 安装 virtualenv 和 virtualenvwrapper 首先&#xff0c;确保你已经安装了 virtualenv 和 virt…

雷池+frp 批量设置proxy_protocol实现真实IP透传

需求 内网部署safeline&#xff0c;通过frp让外网访问内部web网站服务&#xff0c;让safeline记录真实外网攻击IP safeline 跟 frp都部署在同一台服务器&#xff1a;192.168.2.103 frp client 配置 frpc只需要在https上添加transport.proxyProtocolVersion "v2"即…

基于大数据的二手房价数据可视化系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

【软件推荐】Linux上使用的文本内容搜索工具--recollgui _ 统信 _ 麒麟 _ 方德

原文链接&#xff1a;【软件推荐】一款Linux上使用的文本内容搜索工具–recollgui | 统信 | 麒麟 | 方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于如何在Linux系统上使用RecollGUI的文章。Recoll是一款功能强大的全文检索工具&#xff0c;它可以帮助用户快…

黑马JavaWeb开发跟学(十一)SpringBootWeb案例

黑马JavaWeb开发跟学十一.SpringBootWeb案例 SpringBootWeb案例1. 新增员工1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 功能测试1.6 前后端联调 2. 文件上传2.1 简介2.2 本地存储2.3 阿里云OSS2.3.1 准备2.3.2 入门2.3.3 集成 3. 修改员工3.1 查询回显3.1.1 接口文档3.1…

Thinkphp/Laravel物资调配及采购申领管理系统Vscode毕业设计成品源码_eo960.

目录 技术栈和环境说明具体实现截图设计思路关键技术课题的重点和难点&#xff1a;框架介绍数据访问方式PHP核心代码部分展示代码目录结构解析系统测试详细视频演示源码获取 技术栈和环境说明 采用PHP语言开发&#xff0c;开发环境为phpstudy 开发工具notepad并使用MYSQL数据库…

C#编程基础

C#&#xff08;C Sharp&#xff09;是一种由微软开发的现代化、面向对象的编程语言&#xff0c;广泛用于开发各种类型的应用程序&#xff0c;包括桌面应用、Web 应用、移动应用、游戏等。C# 是 .NET 框架和 .NET Core 的主要编程语言&#xff0c;具有高效的开发工具和丰富的类库…