以mysql为例,汇总sql查询最高分、最低分、平均分等sql语句,oracle语法类似,可自行修改以下sql语句

创建两个数据库表,一个学生表、一个考试成绩表

DROP TABLE IF EXISTS `score`;
CREATE TABLE `score`  (`u_id` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '编号',`object_no` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程编号',`students_no` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学号',`score` int(11) NULL DEFAULT NULL COMMENT '分数'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;INSERT INTO `score` VALUES ('1', '100', 's100', 80);
INSERT INTO `score` VALUES ('2', '100', 's200', 59);
INSERT INTO `score` VALUES ('3', '100', 's300', 79);
INSERT INTO `score` VALUES ('4', '200', 's100', 54);
INSERT INTO `score` VALUES ('5', '200', 's200', 96);
INSERT INTO `score` VALUES ('6', '200', 's300', 74);
INSERT INTO `score` VALUES ('7', '300', 's100', 65);
INSERT INTO `score` VALUES ('8', '300', 's200', 80);
INSERT INTO `score` VALUES ('9', '200', 's400', 62);
INSERT INTO `score` VALUES ('10', '300', 's400', 56);
INSERT INTO `score` VALUES ('11', '100', 's400', 70);
SET FOREIGN_KEY_CHECKS = 1;DROP TABLE IF EXISTS `students`;
CREATE TABLE `students`  (`students_no` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编号',`students_name` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',`sex` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别',PRIMARY KEY (`students_no`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;INSERT INTO `students` VALUES ('s100', '张三', '1');
INSERT INTO `students` VALUES ('s200', '李四', '2');
INSERT INTO `students` VALUES ('s300', '张三', '1');
INSERT INTO `students` VALUES ('s400', '王五', '1');
SET FOREIGN_KEY_CHECKS = 1;

数据表数据


查询各课程的考试学生人数

select object_no as '课程编号', count(DISTINCT students_no) '考试人数' from score group by object_no

查询各科成绩最高分和最低分

select object_no as '课程编号',max(score) as '最高分',min(score) as '最低分' from score group by object_no

查询每门课程被选修的学生数

select object_no as '课程编号', count(DISTINCT students_no) as '学生编号' from score group by object_no

查询男生、女生人数

select sex '性别',count(DISTINCT students_no) '数量' from students group by sex

查询平均成绩

select students_no as '学生编号',avg(score) as '平均成绩' from score group by students_no

查询平均成绩大于70分学生的学号和平均成绩

select students_no as '学生编号',avg(score) as '平均成绩' from score group by students_no HAVING avg(score)>70

查询学生考试参与考试课程数量

select students_no as '学生编号',count(object_no) as '课程编号'  from score   group by students_no

查询考试两门以上课程的学生学号

select students_no as '学生编号',count(object_no) as '课程编号'  from score   group by students_no HAVING count( object_no)>2

查询同名学生名单并统计同名人数

select students_name as '学生名称',count(students_name) as '同名数量'  from students group by students_name HAVING count(students_name)>1

计算每门课程的平均成绩

select object_no as '课程编号',avg(score) as '平均成绩' from score group by object_no

计算每门课程的平均成绩并且平均成绩大于等于70分

select object_no as '课程编号',avg(score) as '平均成绩' from score group by object_no HAVING avg(score)>70

查询不及格的课程并按课程号从大到小排列

select object_no as '课程编号',students_no '学生编号',score '分数' from score where score<60 order by object_no desc

查询每门课程的平均成绩,结果按平均成绩降序排列,如果平均成绩相同时,按课程号升序排列

select object_no as '课程编号',avg(score) as '平均成绩' from score group by object_no order by avg(score) desc,object_no asc

sql查询语句-平均分、最高最低分、排序相关推荐

  1. mysql篇-sql查询语句-平均分、最高最低分、排序

    以mysql为例,汇总sql查询最高分.最低分.平均分等sql语句,oracle语法类似,可自行修改以下sql语句 创建两个数据库表,一个学生表.一个考试成绩表 DROP TABLE IF EXIST ...

  2. sql查询语句-平均分、最高最低分、判断、排序

    --查询学生平均分数--round保留小数2位,avg求平均分,把xuehao 列名显示为学号.把score列名显示为平均分 select xuehao 学号,round(avg(score),2) ...

  3. mysql 在sql查询语句结果中,数字加千分逗号

    mysql 在sql查询语句结果中,数字加千分逗号 FORMAT(X,D) 将number X设置为格式 '#,###,###.##', 以四舍五入的方式保留到小数点后D位, 而返回结果为一个字符串. ...

  4. SQL查询语句练习(40道)

    SQL查询语句练习(40道) 素材题目来源 50道SQL练习题及答案与详细分析 偶尔在网上看到了博主在挑战自己的博客,我想着自己也挑战一下自己,毕竟上学期才学完数据库,现在应该也是忘得差不多了,这里记 ...

  5. sql查询语句 -牛客学习笔记

    sql查询语句 1. limit 使用LIMIT限制结果集 LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数. LIMIT 接受一个或两个数字参数.参数必须是一个整数常量. 如果只给 ...

  6. SQL查询语句大全(转)

    转自https://www.cnblogs.com/chenglc/p/8421492.html 重点参考https://blog.csdn.net/g1418377085/article/detai ...

  7. (转)经典SQL查询语句大全

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  8. 「MySQL」- 复杂的SQL查询语句

    任意门 前言 聚合查询 1.聚合函数 count函数 sum函数 avg函数 max函数 min函数 2.分组查询 having子句 多表查询 1.笛卡尔积 2.内连接 3.外连接 左外连接 右外连接 ...

  9. orcal SQL查询语句大全集锦

    orcal   SQL查询语句大全集锦 一. 简单查询   简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例 ...

最新文章

  1. slf4j导入那个依赖_学习SPRINGBOOT结合日志门面SLF4J和日志实现LOGBACK的混合使用
  2. php函数间参数传递(值传递/引用传递)
  3. TCP粘包问题 转自CSDN
  4. scrum回顾_沙龙回顾 | 大规模敏捷框架-Essential SAFe介绍
  5. python的自带数据集_解决Keras自带数据集与预训练model下载太慢问题
  6. 开源项目event-stream被注入恶意代码,盗取区块链钱包助记词
  7. php和python写爬虫-为什么选择用python做爬虫
  8. 将h.264视频流封装成flv格式文件
  9. 计算机不读三星硬盘分区,电脑磁盘分区指南!一分钟就学会
  10. 更新node最新版本方法和 npm install -g n 运行错误
  11. 基于 MaxCompute 的实时数据处理实践
  12. node js fork php,Node.js中execFile,spawn,exec和fork简介
  13. 将list的内容转换成固定个数的分组字符串
  14. 读caffe源码:gflags的使用
  15. Win7虚拟Wifi热点(设置后能连接wifi但无法上网的可按后面提示操作)
  16. mysql数据比较工具_mysql主从数据对比工具简介
  17. 37,字节跳动Python面试
  18. OpenGL(十七)——Qt OpenGL在三维空间移动位图(会动的星星)
  19. Unity3D 学习笔记(六) 手柄配置
  20. java.sql.SQLException: Access denied for user ‘crm‘@‘localhost‘ (using password: YES)

热门文章

  1. 消防给水及消火栓系统技术规范_消防给水与消火栓系统知识点,你学会了没?...
  2. hexo添加disqus_使用Disqus将传统评论添加到Tumblr博客
  3. 2020年第十届C/C++ A组第一场蓝桥杯省赛真题
  4. 免费网站部署和免费数据库Serverless云存储资源汇总整理
  5. 部分Up主精心推荐电脑软件链接
  6. 学校云计算机中心建设方案,智慧校园云数据中心建设方案.docx
  7. 智能机器人客服 让对话“恰到好处
  8. Xshell6 中文不限时版下载(免密匙)(笔记)
  9. 搭建直播平台的基础,实现直播平台源码的架构
  10. python ug_一个python的UG二次开发简单例子(二)