废话不多说,直接上脚本

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 查询每科的前三名相关推荐

  1. 也做SQL查询:班级总成绩 前三名,总成绩有相等的情况

    刚刚看到一篇博客,原帖链接:http://www.cnblogs.com/HCCZX/archive/2012/11/07/2758036.html 通常想到子查询或者临时表外加聚合函数都是没错的,但 ...

  2. 【sql随笔】sql题目:查询每班成绩前三名

    实验题目:查询每班成绩前三名的信息 实验数据库:Oracle 实验数据:学生-成绩表(id,学生名,班级名,分数) 建表语句: 15笔数据,俩个班. create table OnePiece_SC ...

  3. mysql中查询的第一名_使用SQL查询每科第一名及最后一名(学科、姓名、分数)...

    前段时间面试遇到被对方现场考察SQL水平的情况,现场写出来了但被面试官告知不正确,今天分享一下正确写法,一起共勉. 题目:使用SQL查询每科第一名及最后一名(学科.姓名.分数) 自己创建了下表以方便演 ...

  4. 查询每科成绩前3和第3的学生

    1.sql文件: DROP TABLE IF EXISTS `studentscore`; CREATE TABLE `studentscore` (`scoreid` int(11) NOT NUL ...

  5. 查询每个部门工资前三名的员工信息

    问:Oracle的EMP表,查询每个部门工资前三名的员工信息,如何写??  解答:(通用sql) [java]  view plain copy select deptno, ename, sal f ...

  6. mysql实现分组查询每个班级的前三名

    mysql实现分组查询每个班级的前三名set character_set_server = utf8mb4 ; DROP TABLE IF EXISTS student;CREATE TABLE IF ...

  7. mysql筛选班级排名_mysql实现分组查询每个班级的前三名

    1.创建表 drop table student; create table student( id varchar(20),-- 编号 class varchar(20),-- 年级 score i ...

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

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

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

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

最新文章

  1. lua菜鸟教程_Lua 环境安装
  2. HashMap面试深入详解jdk1.8
  3. EOJ_1102_任务调度问题
  4. 玩转Github —— Octotree Chrome插件
  5. 【Python - GPU】基于Python的GPU加速并行计算 -- pyCUDA
  6. stm32 网络 服务器通信协议,利用stm32的lwip TCP/IP协议栈的通信的思路
  7. mysql8.0.16安装_mysql8.0.16安装(补) September 24,2019
  8. 小学二年级上学期计算机教案,小学二年级上学期信息技术教案范文【三篇】
  9. autocad 如何摆正显示_AutoCAD使用技巧问答
  10. 视频通信中的码率控制算法
  11. C基础 | 【05】(内存结构以及复合类型)
  12. iMeta | 华南农大曾振灵/熊文广等-家庭中宠物犬与主人耐药基因的共存研究
  13. Hive环境搭建(保姆级教程)
  14. CTO与CIO选型数据中台的几大建议
  15. Arduino单片机使用和开发问题记录
  16. OLTP、OLAP、即席查询(ad hoc query)区别与联系
  17. PS插件:Photoshop遥感影像处理插件
  18. 埃森哲带给我们什么启示?
  19. 【直播】陈安东:Bert与机器阅读理解的故事
  20. ascii码 iso 8859-1 Unicode 字符编码 UTF8编码 区别 表格

热门文章

  1. HDMI RGB_TO_DVI模块
  2. 关于VMBox重启无法打开虚拟机问题
  3. 生物特征识别性能的不同衡量标准以及python源代码
  4. 英语在计算机上比汉语有优势吗,英语和汉语分别有什么优缺点?
  5. python 日历热力图_pyecharts日历热力图
  6. 局部线性嵌入 (Locally linear embedding-LLE)原理总结
  7. 你TM管这着玩意儿叫H5编辑器?????
  8. Gabor滤波器特征提取原理讲解及c++实现
  9. Android绘图Porter-Duff规则
  10. 每日 30 秒 ⏱ 强风吹拂