oracle菜鸟学习之 分析函数-排序 排序函数 1.row_number:返回连续的排序,无论值是否相等2.rank:具有相等值得行排序相同,序数值随后跳跃3.dense_rank:具有相等值得行排序相同
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() 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>
排序类似排名,如果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>
排序类似排名,如果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>
--结束END--
本文标题: oracle菜鸟学习之 分析函数-排序
本文链接: https://www.lsjlt.com/news/43110.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0