13.按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

2023-10-29

 题目的数据来源于50道SQL练习题及参考答案(原创)_Hill_GM的博客-CSDN博客_sql编程题目

建表和链接里面的是一样的 

#解决的思路:首先将每个学生的各科成绩放在同一行显示
select st.*,sc1.score 语文,sc2.score 数学,sc3.score 英语
from student st 
left join sc sc1
on st.s=sc1.s and sc1.c='01'
left join sc sc2
on st.s=sc2.s and sc2.c='02'
left join sc sc3
on st.s=sc3.s and sc3.c='03'
#这里需要注意的是要用left join,并且都是使用on st.s=scXX.s,否则会导致一些数据显示有问题

得到的结果是这样的:

#接着单独查询平均值
SELECT st.s,avg(score) as 平均值
FROM student st 
left join sc
on sc.s=st.s 
GROUP BY st.s 

 得到的结果如下:

 

#最后将两者再使用一个左连接就可以获得想要的结果了
select st.s,st.Sname,sc1.score 语文,sc2.score 数学,sc3.score 英语,平均值
from student st 
left join sc sc1
on st.s=sc1.s and sc1.c='01'
left join sc sc2
on st.s=sc2.s and sc2.c='02'
left join sc sc3
on st.s=sc3.s and sc3.c='03'
left join (SELECT st.s,avg(score) as 平均值
FROM student st 
left join sc
on sc.s=st.s 
GROUP BY st.s )A
on st.s=A.s
order by 平均值 desc

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

13.按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩 的相关文章

  • 删除原始数据中部分重复的记录

    我需要删除表中时间间隔为 1 或 2 分钟或相同且必须相同的所有记录ID但保留第一个记录 ID Time SN SD WE FW 10 2014 06 30 19 17 37 000 I 0 100 0 10 2014 06 30 19 1
  • Python SQLite3 SQL注入漏洞代码

    我知道下面的代码片段由于 format 的原因很容易受到 SQL 注入的攻击 但我不知道为什么 有谁明白为什么这段代码容易受到攻击以及我从哪里开始修复它 我知道这些代码片段使输入字段保持打开状态 以便通过 SQL 注入执行其他恶意命令 但不
  • 为什么我们不能有多个主键?

    我知道表中不能有超过 1 个主键 但技术原因是什么 直接拉取自SO https stackoverflow com questions 217945 can i have multiple primary keys in a single
  • CAP 定理 - 可用性和分区容错性

    当我尝试理解CAP中的 可用性 A 和 分区容错性 P 时 我发现很难理解各种文章的解释 我感觉A和P可以在一起 我知道事实并非如此 这就是为什么我无法理解 简单解释一下 A和P是什么以及它们之间的区别 一致性意味着整个集群中的数据是相同的
  • SQL:比较不同表中的两个计数

    我有 3 张桌子 一张桌子上有世界上每个国家及其代币 NAME CODE Afghanistan AFG Albania AL Algeria DZ American Samoa AMSA Andorra AND Angola ANG An
  • Google 的 Bigtable 与关系数据库 [重复]

    这个问题在这里已经有答案了 重复项 为什么应该使用基于文档的数据库而不是关系数据库 https stackoverflow com questions 441441 why should i use document based datab
  • 从数据库而不是配置文件中读取 CodeIgniter 配置值

    您可能知道 当您使用 CI 创建新项目时 您必须手动输入基本网址 加密密钥在config config php中 我正在努力克服这个问题 因此正在寻找一种方法read那些价值观而是从数据库中 为客户进行安装并设置时间作为一个整体decrea
  • 在 plsql 中立即执行

    如何从这段代码中得到结果 EXECUTE IMMEDIATE SELECT FROM table name through for loop 通常的方法看起来像这样 for items in select from this table l
  • 使用 PHP 代码和 HTML 表单将 Excel (.csv) 导入 MySQL

    我知道还有其他类似的帖子 但每个人都建议直接在 PHPMyAdmin 中将其导入 MySQL 这工作完美 但我需要通过 HTML 表单导入 PHP 到 MySQL 我想要一个收集文件的 HTML 表单 然后将该文件传递给 PHP 脚本 我想
  • 如何在SQL Server数据库表列中存储图像[重复]

    这个问题在这里已经有答案了 我有一张名为FEMALE在我的数据库中 它有ID as Primary Key 它有一个Image column 我的问题是如何使用 SQL 查询存储图像 尝试一下 insert into tableName I
  • SQLite同时读写

    我读过很多主题 但无法找到问题的答案 是否可以同时读写 我有后台线程更新一些数据 UI 需要存储在数据库中的一小部分数据 所以在UI线程中执行SELECT操作 但当更新正在进行时它会阻塞 结果 UI 冻结了几秒钟 有人在写入时成功从数据库读
  • 需要有关使用 PHP 在 mysql 数据库中插入逗号分隔数据的帮助

    数据库表中已有的演示数据 INSERT INTO csvtbl ID SKU Product Name Model Make Year From Year To VALUES 1 C2AZ 3B584 AR Power Steering P
  • MySQL 子查询返回多行

    我正在执行这个查询 SELECT voterfile county Name voterfile precienct PREC ID voterfile precienct Name COUNT SELECT voterfile voter
  • 具有 LINQ 支持的最完整的 ORM?

    我正在寻找一个提供完整或接近完整的 LINQ 支持的 ORM LINQ 到 SQL 支持 LINQ 内部的所有内容 Contains Math Log 等 在不创建新数据上下文的情况下无法预先加载关系属性 ADO NET 实体框架 糟糕的
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • 消息 102,级别 15,状态 1,第 1 行“ ”附近的语法不正确

    我试图从临时表中查询 但不断收到此消息 Msg 102 Level 15 State 1 Line 1 Incorrect syntax near 有人能告诉我问题是什么吗 是因为要转换吗 查询是 select compid 2 conve
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • 更新plpgsql中触发器函数中的多列

    给出以下架构 create table account type a id SERIAL UNIQUE PRIMARY KEY some column VARCHAR create table account type b id SERIA
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之

随机推荐

  • 排序【常见的七大排序详解】

    全文目录 排序的概念 排序的概念 内外排序 常见排序算法 稳定性 插入排序 算法思想 实现 特性总结 希尔排序 算法思想 实现 特性总结 选择排序 算法思想 实现 特性总结 冒泡排序 算法思想 实现 特性总结 堆排序 算法思想 实现 特性总
  • 用JavaScript去找出一个数组里的所有素数(质数)

    var x 定义一个变量x r arr 定义一个空数组 for x 1 x lt 100 x arr push x 把1 100依次放到数组arr中 function get primes arr return arr filter fun
  • oracle获取rowid,Oracle中的ROWID实现

    一直以来 Oracle的发展是如火如荼 依然非常成熟 无论是行业的人员和资料的丰富程度 对于数据库的体系结构的内容 下面这张图我估计很多DBA都快看吐了 每次一提起体系结构 总是会看到这张图 而看着10年前的图 发现依旧能讲出不少的东西 很
  • Eclipse导入新的项目并成功运行

    1 检查 setting 下的一个文件 检查里边的配置和自己的是否一致 2 右键file选择import导入 2 1 选择如图 next 2 2 继续 finish 3 右键项目选择 buildpath gt configure build
  • MySQL8.0.32的安装与配置(最详细)

    目录 一 下载 打开 MySQL官网 点击打开 依次按照 P1 P4 进行下载 二 下载解压 配置初始化文件mysql ini 新建data文件夹 解压之后 解压后把文件放在C盘以外的盘 的文件里边是没有data文件的 需要 创建一个空文件
  • 【机器学习】用可视化的方式直观理解Bayesian models

    如果你感觉Bayesian models反直觉 不好理解 本期分享两个工具 利用可视化的直观方式探索贝叶斯模型 1 Python ArviZ 主要包含以下4方面功能 后验分析 posterior analysis 数据存储 data sto
  • 几款免费PDF合并成一个PDF的软件推荐,快收藏起来吧

    工作中 我们经常需要接收文件 而由于PDF文件具有较高的稳定性 所以它也成为人们发送文件的热门选择 而当需要发的PDF文件比较多时 一个个发送对方接收起来不方便也容易混乱 这时 我们将多个PDF文件合并成一个PDF文件就高效很多了 那么 P
  • umi Mock数据

    1 在mock文件夹下创建文件 export default GET api users users 1 2 api users 1 id 1 GET可忽略 POST api users create req res gt 和express
  • 如何确保网站的安全性

    大部分企业通过网站平台来进行信息发布 交流及宣传 推广企业业务 用户可以通过网站对企业进行初步的了解 并进一步获取咨询服务 企业网站不光是一个展示企业形象的平台 更是一种有效的营销方式 当然其安全性也是至关重要 随着网站的普遍应用 企业网站
  • 基于 STM32CubeMX 添加 RT-Thread 操作系统组件(四)- 多线程SRAM动态内存

    概述 本篇主要介绍这么使用STM32CubeMx工具添加RT Thread操作系统组件 码代码的IDE是keil 介绍单线程SRAM静态内存使用 如果还不知道 这么使用STM32CubeMx工具添加RT Thread操作系统组件 请移步到
  • PageRank算法 -- 从原理到实现

    本文整理自博文PageRank算法 从原理到实现 1 算法来源 这个要从搜索引擎的发展讲起 最早的搜索引擎采用的是 分类目录1的方法 即通过人工进行网页分类并整理出高质量的网站 那时 Yahoo 和国内的 hao123 就是使用的这种方法
  • Android学习笔记(五)--(可调节)模糊效果

    很多时候点开一个button的时候或者弹出某个提示的时候 背景都会变成模糊的或者说是虚化的 而今天 我们就来实现一下动态模糊效果 可以通过控制条或者手势来操控模糊程度 之前自己也做了一个 但是发现会有卡顿 在论坛逛了一会儿就发现果然有一个巧
  • 我的2020工作与学习总结

    我的2020总结 今天是2020年12月30日 马上就要开始新的一年了 在出差途中简单做个总结 总结我2020这平凡而又充实的一年 学习和生活方面 回忆起我去年做的总结我的2019 这两年都是收获满满 我19年大学毕业 其实目前我已经工作两
  • app客户端与服务器数据交互时—数据加密

    总结 1 对称加密加密与解密使用的是同样的密钥 所以速度快 但由于需要将密钥在网络传输 所以安全性不高 2 非对称加密使用了一对密钥 公钥与私钥 所以安全性高 但加密与解密速度慢 3 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密
  • vue json对象转数组_vue-vue-router 快速了解,多看看能扎实基础

    看着这么多房子头都晕了 不知道从哪里回家 概述 vue router是Vue js官方的路由插件 它和vue js是深度集成的 适合用于构建单页面应用 vue的单页面应用是基于路由和组件的 路由用于设定访问路径 并将路径和组件映射起来 传统
  • 03模板学习之函数模板案例-写一个int,char通用的冒泡

    03模板学习之函数模板案例 写一个int char通用的冒泡 1 直接看代码 模板测试 cpp 此文件包含 main 函数 程序执行将在此处开始并结束 include
  • windows terminal使用git bash

    1 在微软应用商店下载 windows terminal 1 打开 Windows Terminnal 的设置界面 点击添加新配置文件添加配置如下 即在json配置文件中添加 commandline D Git bin bash exe l
  • ChatGPT的前世今生

    作者 符尧等 编辑 夕小瑶的卖萌屋 点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 正文 最近 OpenAI的预训练模型ChatGPT给人工智能领域的研究人员留下了深刻的印
  • java中需要注意的一些代码编写规范

    一 编程规约 1 命名风格 常量命名全部大写 单词间用下划线隔开 力求语义表达完整清楚 不要嫌名字长 POJO 类中的任何布尔类型的变量 都不要加 is 前缀 否则部分框架解析会引起序列化错误 杜绝完全不规范的缩写 避免望文不知义 在常量与
  • 13.按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

    题目的数据来源于50道SQL练习题及参考答案 原创 Hill GM的博客 CSDN博客 sql编程题目 建表和链接里面的是一样的 解决的思路 首先将每个学生的各科成绩放在同一行显示 select st sc1 score 语文 sc2 sc