SQL查询——各科前三名的成绩

  • 表结构
  • 查询代码
  • 思路
  • 小结

表结构

//临时表
cerate table id(
id number
)
//选课表
cerate table sc(
sid number,
cid number,
score number
)


查询代码

```javascript
select   id.id 名次,t1.score 数据库,t2.score Java,t3.score Web
from id
// 科目一
left join
(select sid, cid,score ,rownum rid        //rid 代表 名次from (select *from sc  s1    //各科目 按成绩由高到底排序where cid=01 order by score desc) ) t1
on t1.rid=id.id
// 科目二
left join
(select sid, cid,score ,rownum rid        //rid 代表 名次from (select *from sc  s1    //各科目 按成绩由高到底排序where cid=02 order by score desc) ) t2
on t2.rid=id.id
// 科目三
left join
(select sid, cid,score ,rownum rid        //rid 代表 名次from (select *from sc  s1    //各科目 按成绩由高到底排序where cid=03 order by score desc) ) t3
on t3.rid=id.id
order by id.id

结果图

思路

1.筛选出sc表中单个科目的成绩,并由高到低排序
2.对排序后的成绩 添加rownum 作为 名次
3.利用id表中的id 列对应各科的名次 进行左连接(id列值为1,2,3 对应各科1,2,3)

小结

出去复制粘贴的内容,代码量真的超级少
避免了使用分组函数和嵌套,十分容易理解
给小编点个赞吧

SQL查询——各科前三名的成绩(改良版)相关推荐

  1. sql 包含_SQL笔记:在一张包含学生ID、课程、成绩的表中,检索各科前三名

    表定义 及 测试数据 CREATE TABLE `score_info` ( `student_id` int NOT NULL AUTO_INCREMENT, `category` varchar( ...

  2. mysql查询各科成绩前三名的记录,sql查询各科成绩前三名----详述过程,思路清晰不烧脑...

    使用mysql.hive查询各科成绩前三名 一.建表造数据 建表: create table scores( name varchar(100), subject varchar(100), scor ...

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

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

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

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

  5. oracle 查询各科前3名_oracle中的sql求总分前三名

    展开全部 可以用row_number来查询. 1.创建数据表,插入数据:create table sc (id int, name varchar(20), class varchar(20), sc ...

  6. sql查询每个学生的最高成绩mysql语句

    张三 语文 100 张三 数学 83 李四 语文 88 李四 数学 100 查询每个学生的最高成绩. select b.* from (select name,max(score) score fro ...

  7. mysql查询各科前3_MySQL 查询各科前三的数据

    方法一: SELECT sc.*,c.` Cname` ,COUNT(sc.C) FROM sc LEFT JOIN sc a ON sc.C = a.C AND sc.score >= a.s ...

  8. oracle 查询各科前3名_好消息!新世纪女排教练战绩排名出炉,前3名中国人占据两席...

    文/梅长苏 新世纪这20年来,能够带领女排球队获得世界冠军的主教练一共有10人,今天就为这10位女排教练按照战绩来排个名,中国女排主教练郎平.前主教练陈忠和都榜上有名,从成绩来看,两个人的执教能力是数 ...

  9. oracle 查询各科前3名_2020年山东高校排行榜前3无悬念,山东理工大学省内第17全国250名...

    山东作为我国的高等教育大省,虽然该省没有像临省江苏那样拥有11所211院校,但是该省的高校实力都还是十分不错的,比如山东拥有2所985重点大学,一所为大名鼎鼎的山东大学,作为我国老牌重点院校,山大曾经 ...

最新文章

  1. Android基础之一
  2. Notepad++中高亮显示ABAP代码方法
  3. 子程序与中断程序的异同_【干货】plc怎样理解中断功能,其作用是什么?
  4. 2020年度JEECG开发者大赛,开发插件赚外块还能赢大奖!!
  5. vue axios 简单封装以及思考
  6. 让IE6支持min-width和max-width的方法
  7. Windows10下载到U盘怎么安装?
  8. 利用Opencv+Qt打开摄像头
  9. Python模拟手机充值案例程序实现代码
  10. Keil软件简单的使用说明
  11. 三星电容封装料盘注解
  12. Unity替换 图集
  13. MyBatis - 批量插入
  14. 安卓开发中ToggleButton按钮的使用
  15. 【设计模式】之外观(Facade)模式
  16. [APK签名] jarsigner APK V1签名
  17. 国产FPGA智多晶烧写SA5Z系列SoC FPGA FLASH烧写错误解决
  18. C语言结构体运用实例
  19. Golang实现布隆过滤器
  20. 服务器安装Windows Server 2008 R2系统过程中遇到的一些坑

热门文章

  1. L3-1 那就别担心了 (30分) 2020 天梯赛
  2. 文化常识(临川四梦、四大南戏、江南三大名楼)
  3. Rabbitmq登录首页空白,看不到队列TAB页
  4. 星网锐捷RSR20系列路由器NATDHCP配置模板
  5. sharding-proxy和sharding-ui 简介与v5.0.0-beat版本搭建配置
  6. 论文阅读——Densely Connected Convolutional Networks
  7. StringBuilder和StringBuffer哪个线程安全?执行效率高?
  8. STM32 PWM波驱动模拟舵机(库函数版)
  9. 第9章第5节:继续目录页幻灯片的制作 [PowerPoint精美幻灯片实战教程]
  10. rockbox主题包安装_rockbox简单做了个主题修改制作教程