Oracle按照某一字段值排序并显示,相同的显示序号

Oracle按照某一字段值排序并显示,相同的显示序号

最近的工作遇到对于相同的字段,按照序号去显示值,并对相同的值进行排序

实验了半天,感觉满意的答案,分享给大家

第一种: ROW_NUMBER

语法: ROW_NUMBER() OVER (ORDER BY your_column) AS sequence_number

说明 : 根据your_column字段的值进行排序,并为每个唯一的your_column值分配一个序号。

示例:

sql 复制代码
SELECT  ROW_NUMBER() OVER (ORDER BY sub.C_IDEN_RELA) AS sequence_number,sub.* FROM Testtable sub WHERE 1=1 AND sub.C_IDEN_RELA IN ('5132242092203614208','5132412321219125248','5132392474594680832') ;

效果图:

优化改进(日常喜欢用的)

语法: ROW_NUMBER() OVER (PARTITION BY sub.C_IDEN_RELA ORDER BY sub.C_IDEN_RELA) AS sequence_number

说明 : 根据your_column字段的值进行排序,并为每个唯一的your_column值分配一个序号。

示例:

sql 复制代码
SELECT  ROW_NUMBER() OVER (PARTITION BY sub.C_IDEN_RELA ORDER BY sub.C_IDEN_RELA) AS sequence_number,sub.* FROM Testtable sub WHERE 1=1 AND sub.C_IDEN_RELA IN ('5132242092203614208','5132412321219125248','5132392474594680832') ;

效果图:

第二种: DENSE_RANK

语法: DENSE_RANK() OVER (ORDER BY your_column) AS sequence_number

说明 : 对有相同your_column值的行进行分组,并且为每组分配一个序号
示例:

sql 复制代码
SELECT  DENSE_RANK() OVER (ORDER BY sub.C_IDEN_RELA) AS sequence_number,sub.* FROM Testtable sub WHERE 1=1 AND sub.C_IDEN_RELA IN ('5132242092203614208','5132412321219125248','5132392474594680832') ;

效果图:

第三种: ROW_NUMBER

语法: RANK() OVER (ORDER BY your_column) AS sequence_number

说明 : 根据your_column字段的值进行排序,并为每个唯一的your_column值分配一个序号。
示例:

sql 复制代码
SELECT  RANK() OVER (ORDER BY sub.C_IDEN_RELA) AS sequence_number,sub.* FROM Testtable sub WHERE 1=1 AND sub.C_IDEN_RELA IN ('5132242092203614208','5132412321219125248','5132392474594680832') ;

效果图:

完结撒花

相关推荐
weixin_397574098 小时前
用自然语言查数据库出图表靠谱吗?一次智能问数实践复盘
数据库
字节跳动开源10 小时前
Viking AI 搜索 CLI 正式发布:会说话,就能做搜索推荐
数据库·人工智能·开源
TechWJ11 小时前
数据库在公司内网,出差路上想查数据怎么办?
服务器·数据库·mariadb
我是一颗柠檬11 小时前
【MySQL全面教学】MySQL事务与ACID Day9(2026年)
数据库·后端·mysql
橙子圆12311 小时前
Redis知识9之集群
数据库·redis·缓存
BlackHeart120311 小时前
【SQL】Oracle中序列(Sequence)作为默认值引发的ORA-00979
数据库·sql·oracle
一点事12 小时前
docker:安装oracle 19c
docker·oracle·容器
bug菌12 小时前
【SpringBoot 3.x 第254节】夯爆了,数据库访问性能优化实战详解!
数据库·spring boot·后端
xxl大卡12 小时前
MySQL的执行流程
数据库·mysql
chicheese13 小时前
MySQL优化实践:选错JOIN 驱动表,性能相差几十倍
数据库·mysql