一张表Tb_Student

insert into [Tb_Student] values('001','姜子牙','语文',80);
insert into [Tb_Student] values('001',姜子牙','数学',70);
insert into [Tb_Student] values('001','姜子牙','英语',90);insert into [Tb_Student] values('002','娜吒','语文',88);
insert into [Tb_Student] values('002','娜吒','数学',77);
insert into [Tb_Student] values('002','娜吒','英语',85);insert into [Tb_Student] values('003','雷震子','语文',99);
insert into [Tb_Student] values('003','雷震子','数学',67);
insert into [Tb_Student] values('003','雷震子','英语',94);

生成结果

id    sname    Subject    grade    student_no                    row
5    旺旺      数学            90         002                      1
2    章三      数学            80         001                      2
11   娜吒      数学            67         004                      3
6    旺旺      英语            100        002                       1
15   雷震子    英语            97         005                       2
3    章三      英语            90         001                       3
13   雷震子    语文            89         005                       1
4    旺旺      语文            80         002                       2
10   娜吒      语文            78         004                       3

--sql server sql语句
WITH TableOrder AS(
select  t.*,row_number() over(partition by t.[Subject] order by t.grade desc) row from [Tb_Student] t)
SELECT * FROM TableOrder  where row<=3;--oracle sql
select * from (
select  t.*,row_number() over(partition by t.[Subject] order by t.grade desc) rownum from [Tb_Student] t) where rownum<=3;

转载于:https://www.cnblogs.com/Warmsunshine/p/3641895.html

分科目统计每科前三名的学生相关推荐

  1. oracle材料差异科目,ORACLE分科目统计每科前三名的学生的语句

    有个成绩表 score(student_no,Subject_no,Score)分别为学号,课程号,成绩.我想用语句查询出每科的前三名学生的学号,请各位高手教教小弟 1.创建测试语句: create ...

  2. python计算选手最后得分并取出前三名_MySQL中查询获取每个班级成绩前三名的学生信息...

    今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了. CREATE TABLE t_testscore(    pk_id INT PRIM ...

  3. mysql查询班级作业提交情况_MySQL中查询获取每个班级成绩前三名的学生信息

    标签: 今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了. CREATE TABLE t_testscore(    pk_id INT ...

  4. 查询学生各科前三名的学生成绩

    初始化表student表 CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(32) DEFAULT ...

  5. MySQL中查询获取每个班级成绩前三名的学生信息

    CREATE TABLE t_testscore( pk_id INT PRIMARY KEY, c_name VARCHAR(50) , c_score INT, c_class INT )DEFA ...

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

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

  7. SQL:查询每科目前三名学生及分数

    一.创建得分表 -- 创建student_score表 CREATE TABLE student_score(name varchar(20),subject varchar(20),score in ...

  8. mysql查询分数前三个_MySql根据总成绩查询前三名学生的每科成绩分数

    MySql根据总成绩查询前三名学生的每科成绩分数 1年前 阅读 2765 评论 0 喜欢 0 ## 一.数据库结构: ```sql CREATE TABLE `chengji` ( `uid` int ...

  9. sql查询成绩最高分_sql查询各科成绩前三名----详述过程,思路清晰不烧脑!

    一.建表造数据 建表: create table scores( name varchar(100), subject varchar(100), score int ); 插入数据: insert ...

最新文章

  1. struts2值栈内部数据结构详解
  2. 探索MySQL高可用架构之MHA(6)
  3. onSaveInstanceState在系统之后可能会杀掉Activity时调用,onStop之前
  4. JAVA多线程和并发
  5. linux清空redis命令,使用Linux管道批量删除Redis的key
  6. ElasticSearch 索引基本操作_04
  7. Android 系统(240)---底层如何简易的获取一个从AP传下来的parameter(flag)
  8. py脚本实现用例执行html报告,pytest文档7-pytest-html生成html报告
  9. 《Mastering opencv....读书笔记》基于标记的虚拟现实
  10. C语言实现两个数值互换
  11. lync显示无法找到服务器,Lync 2013 已知问题
  12. cornerstone 使用
  13. H.264 视频编码器的研究与分析
  14. 破解WIFI密码之密码字典
  15. 【工控安全产品】工控主机卫士
  16. 出家12年,北大数学天才柳智宇下山还俗:从事心理咨询,主动要求降薪至2万...
  17. 计算机网络实验 IP网络规划与路由设计
  18. 创业圈里不讲武德,大厂高管也得挨市场的毒打
  19. PHP使用阿里云(语音合成)实现文字转语音“TTS“
  20. 安装配置Apache和php

热门文章

  1. [恢]hdu 1028
  2. 2.25-3.2 周记
  3. (转)关于Linux核心转储文件 core dump
  4. File IO(NIO.2):路径类 和 路径操作
  5. echarts 表格与 div 之间 空白的设置
  6. appearance 设置公共属性
  7. SOA 的基本概念及设计原则浅议
  8. 微型计算机的评估指标,T∕CECA-G 0060-2020 “领跑者”标准评价要求 微型计算机(9页)-原创力文档...
  9. 华为复制加密门禁卡_MIUI12轻体验:关于模拟门禁卡,你想知道的都在这里
  10. python计算运动会某个参赛选手的得分。数据保存在文件中_Python基础教程之第二章---变量和字符串(1) 搬运...