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') ;

效果图:

完结撒花

相关推荐
前进的李工6 小时前
SQL聚合函数与分组查询详解
数据库·sql·mysql
2301_800050997 小时前
mysql
数据库·笔记·mysql
数据皮皮侠8 小时前
2m气温数据集(1940-2024)
大数据·数据库·人工智能·制造·微信开放平台
Psycho_MrZhang8 小时前
Redis 设计思想总结
数据库·redis·缓存
曹牧9 小时前
Java:Assert.isTrue()
java·前端·数据库
程序员葫芦娃9 小时前
【Java毕设项目】基于SSM的旅游资源网站
java·开发语言·数据库·编程·课程设计·旅游·毕设
2401_8658548810 小时前
怎样挑选适合业务的数据库云服务?
数据库
lkbhua莱克瓦2410 小时前
基础-函数
开发语言·数据库·笔记·sql·mysql·函数
福大大架构师每日一题10 小时前
dify 1.11.2 正式发布:向量数据库、安全增强、测试优化与多语言支持全面升级
数据库·安全
码农学院11 小时前
Mysql 中的性能调优方法
数据库·mysql