Oracle,SQL,原来程序的sql使用ROWNUM,可以在结果中自动生成序号列,展现在报表上。但加上排序选项后,序号就乱了,如何解决呢。。。
原来程序的sql使用ROWNUM,可以在结果中自动生成序号列,展现在报表上。
如下:
select ROWNUM,t.* from adheader t
但现在要对结果增加排序,要增加order by dwg_date,dwg_no,结果的序号列就乱了。
后来终于找到了实现方法,使用row_number()函数,并加上Order By排序就可以了。
如下:
select row_number() over(ORDER BY dwg_date,dwg_no) as seq_no, t.*
from adheader t
ORDER BY dwg_date,dwg_no
参考资料: https://www.cnblogs.com/henuyuxiang/p/6702386.html
Tag: Oracle SQL