SQL查询成绩前3的student
测试数据准备
-- mybatis.student definitionCREATE TABLE `student` (`id` int(11) NOT NULL,`name` varchar(50) DEFAULT NULL,`email` varchar(50) DEFAULT NULL,`age` int(11) DEFAULT NULL,`score` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO mybatis.student
(id, name, email, age, score)
VALUES(1, 'zs', 'aaa', 12, 98);
INSERT INTO mybatis.student
(id, name, email, age, score)
VALUES(2, 'b', 'bbb', 13, 95);
INSERT INTO mybatis.student
(id, name, email, age, score)
VALUES(3, 'zs', 'zs', 13, 97);
INSERT INTO mybatis.student
(id, name, email, age, score)
VALUES(4, 'ee', 'dd', 14, 95);
错误答案
select name,score
from student
order by score desc
limit 3
正确答案
SELECT`name`,score,rank -- 表结构中不存在的字段
FROM
-- 表子查询(SELECT`name`,score,-- 定义排名变量@rownum := @rownum + 1 AS tmp,-- 用于记录排名的变量,将该变量作为brank列@incrnum :=-- case 使用方式二:多重if效果CASE-- 分数是否相同: 分数变量 是否等于 成绩列分数 分数相同: 将当前的 排名变量 赋值给rank变量WHEN @rowtotal = score THEN @incrnum -- 分数不同: 将分数列赋值给 分数变量 ,将当前排名赋值给rank变量WHEN @rowtotal := score THEN @rownum END AS rank
FROM( SELECT id, `name`, score FROM student ORDER BY score DESC ) AS a,( SELECT @rownum := 0, @rowtotal := NULL, @incrnum := 0 ) b ) c
WHERErank <= 3
SQL查询成绩前3的student相关推荐
- SQL查询——各科前三名的成绩(改良版)
SQL查询--各科前三名的成绩 表结构 查询代码 思路 小结 表结构 //临时表 cerate table id( id number ) //选课表 cerate table sc( sid num ...
- SQL查询成绩表中的每科第三名
SQL查询成绩表中的每科第三名 题目要求 表格数据 grade表 c_id c_no c_name 1 1 80 1 2 90 1 3 70 1 4 95 2 1 64 2 2 88 2 3 89 2 ...
- sql查询成绩最高分_sql查询各科成绩前三名----详述过程,思路清晰不烧脑!
一.建表造数据 建表: create table scores( name varchar(100), subject varchar(100), score int ); 插入数据: insert ...
- sql查询成绩表中每一科成绩最高的分数以及这个学生的名字,学科名
前段时间面试的时候碰到这样一个面试题,因为很久没接触sql竟然没写出来. 如图有这样一张成绩表: 首先要理解group by 含义:"Group By"从字面意义上理解就是根据&q ...
- C语言查询成绩前三名的女生,如何查找每个班级总成绩前3名的学生?
#7 kai2006-02-19 19:13 这个在标准SQL 里是支持的,在MS-SQL我刚才查了以下,没查到.你自己试试不就知道了.我用的是MySql,是可以的. 我学SQL 也不久,没什么经验. ...
- [关于SQL]查询成绩都大于80分的学生
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 ...
- mysql如何查询成绩前5名_sql 语句查询 前5名后5名的成绩
蝴蝶不菲 两种办法:分别求最大和最小,然后union allselect * from(select * from table order by 成绩) where rownum<=5union ...
- WordPress 常用数据库SQL查询语句大全
https://www.wpdaxue.com/wordpress-sql.html 在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容 ...
- 【sql随笔】sql题目:查询每班成绩前三名
实验题目:查询每班成绩前三名的信息 实验数据库:Oracle 实验数据:学生-成绩表(id,学生名,班级名,分数) 建表语句: 15笔数据,俩个班. create table OnePiece_SC ...
最新文章
- java hanoi_Hanoi问题java解法
- 微信高级研究员解析深度学习在NLP中的发展和应用 | 公开课笔记
- 生产环境使用ioprofile一定要谨慎
- IO:select、poll、epoll
- 直接插入排序python实现
- C++map容器-构造和赋值
- 2021牛客暑期多校训练营1 H-Hash Function(数学+FFT)
- php网站跨站脚本监测,基于PHP的在线跨站脚本检测工具.pdf
- 志汇叮咚超级外卖小程序源码6.4.3
- 安卓原生读写u盘_aigo Type-C固态U盘速度如何?好用吗?
- 为什么SQL用UPDATE语句更新时更新行数会多3行有触发器有触发器有触发器有触发器有触发器有触发器...
- 《REINFORCEMENT LEARNING (DQN) TUTORIAL》的学习笔记
- python选择语句是什么语句_Python语言中的三种选择语句
- Linux 常用函数
- python学习大纲-Python学习大纲,全网最清晰学习思路
- NGS 分析流程 (一)
- 【微信小程序】微信小程序--倒放音频的实现
- etcd入门系列三:身份验证访问控制
- 计算机网络(二) 虚拟网桥
- html怎么制作图片滚动文字效果,新手请看:网店店铺里的滚动文字效果代码是如何制作的...
热门文章
- 推荐系统实战第二部分 评价指标
- 【文末福利】算法大赛评委共话技术趋势,这场直播值得一看!
- 加入鹅厂,就趁现在!
- python合并多个excel代码_Python脚本合并多个Excel文件
- php删除双引号,PHP引号前添加反斜杠、去除反斜杠的方法
- java mat转csv_MATLAB数据保存成其他格式文件(.csv .xlsx .txt等)通用函数[faruto版本]
- 一个高并发的测试websocket脚本
- SSH应用之BBS之路-2、Hibernate配置
- python中高阶函数map怎么用_python六十课——高阶函数之map
- python查看系统进程_在Python中获取操作系统的进程信息