测试数据:

SQL> select * from sscore;

NAME       SCORE

---------- -----

aa            99

bb            56

cc            56

dd            77

ee            78

ff            76

gg            78

ff            50

8 rows selected

针对以上表,需要按成绩进行排序,从而取得名次信息:

实现方法一:分析函数

SQL> select name,score,dense_rank() over(order by score desc) as rk

2  from sscore;

NAME       SCORE         RK

---------- ----- ----------

aa            99          1

gg            78          2

ee            78          2

dd            77          3

ff            76          4

cc            56          5

bb            56          5

ff            50          6

8 rows selected

实现方法二:普通SQL:

SQL> select a.name,

2         a.score,

3         (select count(distinct score) from sscore b where a.score <= b.score) as rk

4    from sscore a

5   order by rk asc;

NAME       SCORE         RK

---------- ----- ----------

aa            99          1

gg            78          2

ee            78          2

dd            77          3

ff            76          4

cc            56          5

bb            56          5

ff            50          6

8 rows selected

一个按成绩排序SQL的写法问题的更多相关文章

  1. 送你一个Python 数据排序的好方法

    摘要:学习 Pandas排序方法是开始或练习使用 Python进行基本数据分析的好方法.最常见的数据分析是使用电子表格.SQL或pandas 完成的.使用 Pandas 的一大优点是它可以处理大量数据 ...

  2. ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

    ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...

  3. 实验12:Problem I: 成绩排序

    Home Web Board ProblemSet Standing Status Statistics   Problem I: 成绩排序 Problem I: 成绩排序 Time Limit: 1 ...

  4. 记一个常见的ms sql server中取第N条记录的方法

    前言 好好学习,天天向上. 正文 好像也是一个不难的问题,刚视频里看到的,就记一下吧. 下面是表中原始的数据结构,做了一个倒叙排序: select * from Employee order by S ...

  5. 03:成绩排序 个人博客:doubleq.win

    个人博客:doubleq.win 03:成绩排序 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出 ...

  6. 九度OJ 1196:成绩排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4339 解决:1476 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N< ...

  7. 九度oj 题目1196:成绩排序

    题目1196:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5192 解决:1792 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数 ...

  8. 九度oj 题目1061:成绩排序

    题目1061:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:24473 解决:6960 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排 ...

  9. 【Java例题】7.4 文件题1-学生成绩排序

    4.学生成绩排序.已有一个学生成绩文件,含有多位学生的成绩:读取这个文件中的每位学生的成绩,然后排序:最后将这些排好序的成绩写到另一个文件中. package chapter7; import jav ...

随机推荐

  1. ssh的tunnel隧道打洞

    分正向和反向. 假设,本地机器可以ssh连上远程机器.本地机器在下面叫做SSHClient, 远程机器叫做SSHServer. 一. 正向代理(本地转发) 在SSHClient机上执行: : SSHS ...

  2. linux每日命令(28):chgrp命令

    在linux系统里,文件或目录的权限的掌控以拥有者及所属群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...

  3. 为什么zookeeper会导致磁盘IO高【转】

    由于早期的storm版本心跳信息严重依赖zookeeper,心跳风暴会导致zookeeper的事务日志频繁的写磁盘,带来的问题首当其冲的是磁盘IO会爆掉. 优化思路 将zookeeper事务的日志放入 ...

  4. npm和yarn的使用对比

    NPM YARN 说明 npm init yarn init 初始化某个项目 npm install/link yarn install/link 默认的安装依赖操作 npm install taco ...

  5. Android wpa_supplicant 四次握手 流程分析

    记录wpa_supplicant四次握手的过程. 相关log:https://www.cnblogs.com/helloworldtoyou/p/9633603.html 接收到第一次握手,会设置一个 ...

  6. Linux系统备份与恢复

    序言:前面一篇文章简单地介绍了Linux系统备份与恢复的相关概念,这里接着上一篇介绍两个常用的备份与恢复命令. 1  常见的备份命令 在介绍下面的备份恢复命令之前先简单的说明一下: 如果我们只是要实现 ...

  7. json 字符串包含数组转换为object对象是报异常java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to

    前台传到后台的json字符串 前台实现这种格式json字符串方式: function contentFun(){ respType = respTypeFun(); return "{\&q ...

  8. IE11不能使用F12功能DOM资源管理器无法使用

    https://www.ludou.org/win7-ie-11-f12-bug.html 32位win7下载补丁:http://www.microsoft.com/zh-CN/download/de ...

  9. [algorithm] Dijkstra双栈算法表达式求值算法

    一.原理 Dijkstra所做的一个算法,双栈求值,用两个栈(一个保存运算符,一个用于保存操作数), 表达式由括号,运算符和操作数组成. (1).将操作数压入操作数栈 (2).将运算符压入运算符栈: ...

  10. [Understanding] Compressive Sensing and Deep Model

    低维模型与深度模型的殊途同归 有助理解核心,陌生概念需要加强理解. 对于做机器学习,和做图像视觉的研究者来说,过去的十年是非常激动人心的十年.以我个人来讲,非常有幸接触了两件事情: 第一件是压缩感知( ...