我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle菜鸟学习之 分析函数-排序

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle菜鸟学习之 分析函数-排序

oracle菜鸟学习之 分析函数-排序

排序函数

1.row_number:返回连续的排序,无论值是否相等
2.rank:具有相等值得行排序相同,序数值随后跳跃
3.dense_rank:具有相等值得行排序相同,序号是连续得

实验表

create table chengji(sno number,km varchar2(10),score number);
insert into chengji values(1,'YW',60);
insert into chengji values(1,'SX',60);
insert into chengji values(1,'YY',60);
insert into chengji values(2,'YW',70);
insert into chengji values(2,'SX',70);
insert into chengji values(3,'YW',80);

SQL> select * from chengji;

       SNO KM                      SCORE
---------- ------------------------------ ----------
     1 YW                     60
     1 SX                     60
     1 YY                     60
     2 YW                     70
     2 SX                     70
     3 YW                     80
     1 YW                     60
     1 SX                     60
     1 YY                     60
     2 YW                     70
     2 SX                     70

       SNO KM                      SCORE
---------- ------------------------------ ----------
     3 YW                     80

12 rows selected.

SQL> 

row_number

格式:row_number() over()
排序类似排名,如果A和B的值都是100,那么A的排序为1,B的排序为2

SQL> select sno,km,score,row_number() over (order by score desc) from chengji;

       SNO KM          SCORE ROW_NUMBER()OVER(ORDERBYSCOREDESC)
---------- ------ ---------- ----------------------------------
     3 YW         80                      1
     3 YW         80                      2
     2 YW         70                      3
     2 YW         70                      4
     2 SX         70                      5
     2 SX         70                      6
     1 SX         60                      7
     1 YY         60                      8
     1 SX         60                      9
     1 YW         60                     10
     1 YY         60                     11

       SNO KM          SCORE ROW_NUMBER()OVER(ORDERBYSCOREDESC)
---------- ------ ---------- ----------------------------------
     1 YW         60                     12

12 rows selected.

SQL> 

rank

排序类似排名,如果A和B的值都是100,那么A的排序为1,B的排序为1,C的为3

SQL> select sno,km,score,rank() over (order by score desc) from chengji;

       SNO KM          SCORE RANK()OVER(ORDERBYSCOREDESC)
---------- ------ ---------- ----------------------------
     3 YW         80                1
     3 YW         80                1
     2 YW         70                3
     2 YW         70                3
     2 SX         70                3
     2 SX         70                3
     1 SX         60                7
     1 YY         60                7
     1 SX         60                7
     1 YW         60                7
     1 YY         60                7

       SNO KM          SCORE RANK()OVER(ORDERBYSCOREDESC)
---------- ------ ---------- ----------------------------
     1 YW         60                7

12 rows selected.

SQL> 

dense_rank

排序类似排名,如果A和B的值都是100,那么A的排序为1,B的排序为1,C的排序为2

SQL> select sno,km,score,dense_rank() over (order by score desc) from chengji;

       SNO KM          SCORE DENSE_RANK()OVER(ORDERBYSCOREDESC)
---------- ------ ---------- ----------------------------------
     3 YW         80                      1
     3 YW         80                      1
     2 YW         70                      2
     2 YW         70                      2
     2 SX         70                      2
     2 SX         70                      2
     1 SX         60                      3
     1 YY         60                      3
     1 SX         60                      3
     1 YW         60                      3
     1 YY         60                      3

       SNO KM          SCORE DENSE_RANK()OVER(ORDERBYSCOREDESC)
---------- ------ ---------- ----------------------------------
     1 YW         60                      3

12 rows selected.

SQL> 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle菜鸟学习之 分析函数-排序

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库学习之排序与单行处理函数详解

目录1.排序2.单行处理函数内容转小写内容转大写取子串字符串拼接求长度去除前后空白四舍五入生成随机数空转换1.排序示例表内容见此篇文章mysql支持数据排序操作,例如,现在我们按照工资从小到大进行排序操作:mysql> select
2022-07-24

编程热搜

目录