Mysql PTA练习查询平均成绩最高的前3名同学

查询平均成绩最高的前3名同学

本题目要求编写SQL语句, 查询平均成绩最高的前3名同学的学号,姓名,性别及年龄。
提示:在MySQL中可使用"limit n"语句实现 “top n” 。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE stu (
sno char(4) NOT NULL,
sname char(8) NOT NULL,
sex tinyint(1) DEFAULT NULL,
mno char(2) DEFAULT NULL,
birdate datetime DEFAULT NULL,
memo text,
PRIMARY KEY (sno)
);
CREATE TABLE sc (
sno char(4) NOT NULL,
cno char(4) NOT NULL,
grade decimal(6,1) DEFAULT NULL,
PRIMARY KEY (sno,cno),
CONSTRAINT fk_sc_sno FOREIGN KEY (sno) REFERENCES stu (sno)
);

表样例

请在这里给出上述表结构对应的表样例。例如

sc表:

输出样例:

请在这里给出输出样例。例如:

题解

SELECT stu.sno as 学号, stu.sname as 姓名,stu.sex as 性别,year(now())-year(stu.birdate)-1 as 年龄,avg(sc.grade)as 平均成绩
from stu join sc on stu.sno=sc.sno GROUP BY sc.sno ORDER BY avg(sc.grade) DESC limit 3

这道题目通过左连接将两张表连在一起,然后根据题目要求进行排序,然后要求前面三位用limit来限制数量

这里year相减之后又-1是因为这道题目当时是2020年的 我2021年做算出来的年龄会多1 所以减去了。

mysql PTA题解查询平均成绩最高的前三名同学相关推荐

  1. 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

    建表语句点击详见 – 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩 SELECTst.s_id, st.s_name, ROUND(AVG(sc.s_score),2)FROM st ...

  2. 10-21-22 查询成绩最高的前三名同学

    查询'C语言'课程成绩最高的前三名同学. select sname '姓名',grade '成绩' from stu,sc,cou where(sc.cno = cou.cno and cname = ...

  3. 10-26 查询成绩最高的前三名同学(MSSQL)

    本题目要求编写SQL语句, 查询'C语言'课程成绩最高的前三名同学. 提示:MSSQLServer 评测SQL语句. 表结构: 请在这里写定义表结构的SQL语句.例如: -- 学生表 CREATE T ...

  4. 2.查询平均成绩大于60分的同学的学号和平均成绩

    select sid,avg(score) from SC group by sid having avg(score)>60; Student表: sc表: Teacher: Course表:

  5. 低于90分的成绩 java_查询平均成绩低于60分的学生学号、姓名及成绩。

    查询平均成绩低于60分的学生学号.姓名及成绩.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 查询平均成绩低于60分的学 ...

  6. oracle学号查询平均成绩,orcal数据库中查询出平均成绩大于60分的同学的学号和平均成绩...

    1.创建测试表, create table test_score(id varchar2(20),sid varchar2(20), score number(10)); 2.插入测试数据: inse ...

  7. 查询平均成绩大于等于90分的学生的学号和平均成绩

    where 子句筛选和having子句筛选实例 在分组前筛选使用where子句,分组后筛选使用having子句. 创建表 -- 创建学生课程表 create table tb_record ( rec ...

  8. 10-14 查询平均成绩高于75分的学生(MSSQL)

    本题目要求编写SQL语句,在sc表 中查询平均成绩高于75分的学生. 提示:MSSQLServer 评测SQL语句. 表结构: 定义表结构的SQL语句如: -- 学生选课成绩表 CREATE TABL ...

  9. 利用Excel/WPS进行数字筛选,分别找出统计学成绩为75的人 ,英语成绩最高的前三名;四门功课都大于70的人

    姓名 统计学成绩 数学 英语 经济学 张松 69 68 84 86 王翔 91 75 95 94 田雨 54 88 67 78 李华 81 60 86 64 赵颖 75 96 81 83 问:1.找出 ...

  10. mysql统计每个科目平均成绩_No.03 数据库经典面试之如何取出每科成绩的前三名...

    数据库经典面试题之如何取出每科成绩的前三名 实现的原理 代码的实现 总结 一.实现的原理 首先,如果不考虑并列的情况,直接orderby排序后limit3就可以取出前三条.但是如果有多个并列的学科,m ...

最新文章

  1. FJ省队集训DAY5 T1
  2. 数据库跟尾过多的错误,能够的原因阐发及处置惩罚设备
  3. Docker常用操作命令
  4. 1047 行 MySQL 详细学习笔记(值得学习与收藏)
  5. WPF中的动画——(一)基本概念
  6. oracle日志存放默认位置,oracle——数据库日志存放位置
  7. iscsi:IO操作流程(三)
  8. Vue_案例_初始化显示_采用组件化编写页面_实现组件间通信---vue工作笔记0022
  9. Spring的XML解析原理,ie浏览器java插件下载
  10. 在一个请求分页系统中,分别采用 FIFO、LRU和 OPT页面置换算法时,假如一个作业的页面走向为 4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为 3、4时,
  11. java块语句_Java™ 教程(表达式、语句和块)
  12. PLSQL Developer 13链接oracle安装与配置手册
  13. java 背单词系统_基于JAVA模拟背单词系统(含源文件)
  14. 视频或动画丢帧_概念介绍和解决策略
  15. 64位计算机可以安装32位软件,为你解答64位电脑如何安装32位系统
  16. 5. 工业大数据典型应用
  17. Unity3D基本知识 构造函数 this用法
  18. 简单利用路由黑洞解决DDOS流量攻击
  19. python 爬虫 JA3 指纹 TCL SSL 安全证书问题
  20. 智慧社区网格化管理php,智慧社区建设:创建社区网格化管理

热门文章

  1. 图像 去掉文字 python_opencv-python 去除图片文字
  2. 亚马逊成功的四个关键因素
  3. 统计学---方差分析
  4. Python脚本完成VCS文件的file_list到.prj文件的转化
  5. Excel数据透视表如何创建?
  6. 清华同方台式计算机 U盘启动,清华同方台式机BIOS设置U盘启动方法
  7. 【MATLAB】求偏导数
  8. matlab中停止调试快捷键,matlab停止运行快捷键
  9. 概率论 马尔可夫 切比雪夫等定理的解释
  10. 读取npy格式的文件