Oracle给查询结果增加序列号


在oracle中,需要加一个序列号,首先想到是用rownum这个关键字,比如sql如下

select rownum,t.* from table t

以上sql如果不增加排序,这个数据没有问题,一旦增加排序,序列号就错乱了

select rownum,t.* from table t order by t.stamp

解决方法如下:
第一种解决办法:

select  rownum,a.*  from (select t.* from table t order by t.stamp)  a

第二种解决办法:

select row_number() over (order by t.stamp) rn,t.*  from table t

个人更倾向于第二种


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM