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

效果图:

完结撒花

相关推荐
AllData公司负责人4 小时前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
加油,小猿猿4 小时前
Java开发日志-双数据库事务问题
java·开发语言·数据库
山岚的运维笔记4 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
Gain_chance4 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
未来之窗软件服务5 小时前
计算机等级考试—高频英语词汇—东方仙盟练气期
数据库·计算机软考·东方仙盟
lekami_兰5 小时前
MySQL 长事务:藏在业务里的性能 “隐形杀手”
数据库·mysql·go·长事务
蚕豆哥5 小时前
【2026马年重启】我的 Primavera P6/Unifier 技术笔记,继续更新!
ai·oracle·项目管理·unifier·p6·进度管理·甲骨文
JQLvopkk5 小时前
C# 轻量级工业温湿度监控系统(含数据库与源码)
开发语言·数据库·c#
devmoon6 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛7 小时前
数据库-sql语句
数据库·sql·oracle