sql 查询每科的前三名
废话不多说,直接上脚本
CREATE TABLE [dbo].[Students]([ID] [int] IDENTITY(1,1) NOT NULL,[name] [nchar](20) NULL,[kemu] [nchar](20) NULL,[score] [int] NOT NULL,CONSTRAINT [PK_Students] PRIMARY KEY CLUSTERED ([ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]GO
insert into Students values('张三','语文',66) insert into Students values('李四','语文',67) insert into Students values('王五','语文',68) insert into Students values('赵六','语文',69) insert into Students values('天气','语文',70) insert into Students values('王八','语文',72) insert into Students values('幺九','语文',75) insert into Students values('大十','语文',80)insert into Students values('张三','数学',85) insert into Students values('李四','数学',80) insert into Students values('王五','数学',75) insert into Students values('赵六','数学',69) insert into Students values('天气','数学',68) insert into Students values('王八','数学',67) insert into Students values('幺九','数学',66) insert into Students values('大十','数学',65)insert into Students values('张三','英语',60) insert into Students values('李四','英语',72) insert into Students values('王五','英语',76) insert into Students values('赵六','英语',77) insert into Students values('天气','英语',85) insert into Students values('王八','英语',78) insert into Students values('幺九','英语',75) insert into Students values('大十','英语',71)
查询语句:内层中 WHERE B.kemu = A.kemu 其实相当于 拿外层的 name 分组 group by
SELECT * FROM Students A WHERE name IN (SELECT TOP 3 nameFROM Students BWHERE B.kemu = A.kemuORDER BY B.score DESC) ORDER BY A.kemu, A.score DESC
运行结果:
转载于:https://www.cnblogs.com/yangjinwang/p/6555480.html
sql 查询每科的前三名相关推荐
- 也做SQL查询:班级总成绩 前三名,总成绩有相等的情况
刚刚看到一篇博客,原帖链接:http://www.cnblogs.com/HCCZX/archive/2012/11/07/2758036.html 通常想到子查询或者临时表外加聚合函数都是没错的,但 ...
- 【sql随笔】sql题目:查询每班成绩前三名
实验题目:查询每班成绩前三名的信息 实验数据库:Oracle 实验数据:学生-成绩表(id,学生名,班级名,分数) 建表语句: 15笔数据,俩个班. create table OnePiece_SC ...
- mysql中查询的第一名_使用SQL查询每科第一名及最后一名(学科、姓名、分数)...
前段时间面试遇到被对方现场考察SQL水平的情况,现场写出来了但被面试官告知不正确,今天分享一下正确写法,一起共勉. 题目:使用SQL查询每科第一名及最后一名(学科.姓名.分数) 自己创建了下表以方便演 ...
- 查询每科成绩前3和第3的学生
1.sql文件: DROP TABLE IF EXISTS `studentscore`; CREATE TABLE `studentscore` (`scoreid` int(11) NOT NUL ...
- 查询每个部门工资前三名的员工信息
问:Oracle的EMP表,查询每个部门工资前三名的员工信息,如何写?? 解答:(通用sql) [java] view plain copy select deptno, ename, sal f ...
- mysql实现分组查询每个班级的前三名
mysql实现分组查询每个班级的前三名set character_set_server = utf8mb4 ; DROP TABLE IF EXISTS student;CREATE TABLE IF ...
- mysql筛选班级排名_mysql实现分组查询每个班级的前三名
1.创建表 drop table student; create table student( id varchar(20),-- 编号 class varchar(20),-- 年级 score i ...
- 10-26 查询成绩最高的前三名同学(MSSQL)
本题目要求编写SQL语句, 查询'C语言'课程成绩最高的前三名同学. 提示:MSSQLServer 评测SQL语句. 表结构: 请在这里写定义表结构的SQL语句.例如: -- 学生表 CREATE T ...
- 10-21-22 查询成绩最高的前三名同学
查询'C语言'课程成绩最高的前三名同学. select sname '姓名',grade '成绩' from stu,sc,cou where(sc.cno = cou.cno and cname = ...
最新文章
- lua菜鸟教程_Lua 环境安装
- HashMap面试深入详解jdk1.8
- EOJ_1102_任务调度问题
- 玩转Github —— Octotree Chrome插件
- 【Python - GPU】基于Python的GPU加速并行计算 -- pyCUDA
- stm32 网络 服务器通信协议,利用stm32的lwip TCP/IP协议栈的通信的思路
- mysql8.0.16安装_mysql8.0.16安装(补) September 24,2019
- 小学二年级上学期计算机教案,小学二年级上学期信息技术教案范文【三篇】
- autocad 如何摆正显示_AutoCAD使用技巧问答
- 视频通信中的码率控制算法
- C基础 | 【05】(内存结构以及复合类型)
- iMeta | 华南农大曾振灵/熊文广等-家庭中宠物犬与主人耐药基因的共存研究
- Hive环境搭建(保姆级教程)
- CTO与CIO选型数据中台的几大建议
- Arduino单片机使用和开发问题记录
- OLTP、OLAP、即席查询(ad hoc query)区别与联系
- PS插件:Photoshop遥感影像处理插件
- 埃森哲带给我们什么启示?
- 【直播】陈安东:Bert与机器阅读理解的故事
- ascii码 iso 8859-1 Unicode 字符编码 UTF8编码 区别 表格