sql 查询最高分、最低分和平均分语句

//我们要用就以学生成绩为实例吧

/*

结构

学生表

Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别

--2.课程表

Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号

*/

查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率

--及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90

--方法1

select m.C# [课程编号], m.Cname [课程名称],

max(n.score) [最高分],

min(n.score) [最低分],

cast(avg(n.score) as decimal(18,2)) [平均分],

cast((select count(1) from SC where C# = m.C# and score >= 60)*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [及格率(%)],

cast((select count(1) from SC where C# = m.C# and score >= 70 and score < 80 )*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [中等率(%)],

cast((select count(1) from SC where C# = m.C# and score >= 80 and score < 90 )*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [优良率(%)],

cast((select count(1) from SC where C# = m.C# and score >= 90)*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [优秀率(%)]

from Course m , SC n

where m.C# = n.C#

group by m.C# , m.Cname

order by m.C#

--方法2

select m.C# [课程编号], m.Cname [课程名称],

(select max(score) from SC where C# = m.C#) [最高分],

(select min(score) from SC where C# = m.C#) [最低分],

(select cast(avg(score) as decimal(18,2)) from SC where C# = m.C#) [平均分],

cast((select count(1) from SC where C# = m.C# and score >= 60)*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [及格率(%)],

cast((select count(1) from SC where C# = m.C# and score >= 70 and score < 80 )*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [中等率(%)],

cast((select count(1) from SC where C# = m.C# and score >= 80 and score < 90 )*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [优良率(%)],

cast((select count(1) from SC where C# = m.C# and score >= 90)*100.0 / (select count(1) from SC where C# = m.C#) as decimal(18,2)) [优秀率(%)]

from Course m

order by m.C#

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql查找最高分最低分_sql查询最高分、最低分和平均分语句相关推荐

  1. mysql mybatis分表查询_mybatis 自动分表

    参考: 相关源码已上传至我的 github 欢迎转载,转载请注明出处,尊重作者劳动成果:https://www.cnblogs.com/li-mzx/p/9963312.html 前言 小弟才疏学浅, ...

  2. mysql 数据库分表查询_mysql数据库分表及实现

    项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈. 当出现这种情况时,我们可以考虑分表,即将单 ...

  3. mysql 学生成绩最高分的学科_sql查询成绩表中每一科成绩最高的分数以及这个学生的名字,学科名,面试的时候碰到的问题...

    前段时间面试的时候碰到这样一个面试题,因为很久没接触sql竟然没写出来. 如图有这样一张成绩表: 首先要理解group by 含义:"Group By"从字面意义上理解就是根据&q ...

  4. mysql 查找数据过程_mysql数据库查询过程探究和优化建议

    查询过程探究 我们先看一下向mysql发送一个查询请求时,mysql做了什么? 如上图所示,查询执行的过程大概可分为6个步骤: 客户端向MySQL服务器发送一条查询请求 服务器首先检查查询缓存,如果命 ...

  5. mysql 最长的字段_sql 查询某个字段最长的记录

    sql  查询文本字段中值的长度最长的记录 一.函数 1.SQL Server LEN() 函数返回文本字段中值的长度. SELECT LEN(column_name) FROM table_name ...

  6. mysql 查找小写字母_MySQL中查询时对字母大小写的区分

    我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...

  7. MySQL消除笛卡尔积的方法_SQL查询中的笛卡尔积现象解决方法

    一. 笛卡尔积 笛卡尔积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员. ...

  8. mysql sql decode函数用法_SQL查询中DECODE函数和CASE WHEN 比较

    一,DECODE函数 其基本语法为: Sql代码DECODE(value, if1, then1, if2, then2, if3, then3,...ifn, thenn, else) DECODE ...

  9. mysql sql 去除重复行_SQL查询语句去除重复行

    1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录 ...

最新文章

  1. 阅读豆丁网----基于模型的混合多目标算法的研究
  2. 如何对单手和双手协同运动方向进行神经表征和解码?北理工研究团队给出了相关方案
  3. 第2期 | 国内脑机接口领域专家教授汇总(修改)
  4. AI部署前路坎坷,50%项目半路夭折
  5. ACM学习历程—Hihocoder [Offer收割]编程练习赛1
  6. web开发入门到深入-WebAssembly(1)
  7. Fiori elements执行过程解析:When click go in table list, odata service is sent
  8. linux程序打包安装,制作Linux下程序安裝包——使用腳本打包bin、run等安裝包
  9. rabbitmq学习——队列
  10. pythonweb开发工作内容_我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...
  11. 深入探索android热修复技术原理_打卡活动:技术书籍书单
  12. windows安装各版本python解释器和anaconda
  13. oa中获取当前用户信息
  14. (转)Tomcat目录结构
  15. 计算机国际标准编码,【计算机基础】常用编码格式
  16. windows 安全删除硬件并弹出媒体 选项灰色、无法弹出
  17. 黎曼ζ(2)的导数:ζ'(2)=-1
  18. itest考试切屏能检测出来吗_itest测试
  19. 2022年高教杯国赛数学建模思路分享
  20. 2.1.4.2 端口Banner信息获取

热门文章

  1. C#高级语法之泛型、泛型约束,类型安全、逆变和协变(思想原理)
  2. .NET开发框架(八)-服务器集群之网络负载平衡(视频)
  3. 译 | 使用Roslyn分析器高效编写更好的代码
  4. 开源 , KoobooJson一款高性能且轻量的JSON框架
  5. WebApi网关之Bumblebee和Ocelot性能对比
  6. .NET跨平台实践:Linux .Net Core自宿主应用程序瘦身记
  7. 基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署
  8. Docker容器环境下ASP.NET Core Web API应用程序的调试
  9. .NET Core 1.0发布:微软开源跨平台大布局序幕
  10. Asp.Net Core 发布和部署(Linux + Jexus )