博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个按成绩排序SQL的写法问题
阅读量:6476 次
发布时间:2019-06-23

本文共 645 字,大约阅读时间需要 2 分钟。

 

测试数据:

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

转载地址:http://vjmko.baihongyu.com/

你可能感兴趣的文章
1068. 万绿丛中一点红(20)
查看>>
WCF -- Duplex双工通信
查看>>
c# 扩展方法奇思妙用基础篇九:Expression 扩展
查看>>
从C到iOS基础知识各阶段的书籍及提高实战图书推荐
查看>>
原型链上的call方法集合
查看>>
深入研究HTML5实现图片压缩上传
查看>>
2016-7-12
查看>>
HDU 1698
查看>>
UCOS-III API函数
查看>>
EBS中加载FORM使用的JavaBean的JAR包
查看>>
c++ override 关键字
查看>>
LinqToXML
查看>>
交叉验证
查看>>
[转] 字符集编码(GBK,BIG5,UNICODE)与C++的string/wstring
查看>>
rest
查看>>
React Native自适应设备宽度解决方案
查看>>
Array.ConvertAll<TInput, TOutput> 数组相互转化方法
查看>>
Python基础学习七 网络编程
查看>>
简说设计模式——解释器模式
查看>>
Silverlight开发工具集合[转]
查看>>