使用Oracle自帶的row_number()函數能夠實現自動增加序號列的要求,但是同時引發一個問題,如果我們查詢出來的數據需要使用Order By排序的話,那么我們會發現新增加的序號列是亂序的,它會根據我們Order By后面的字段重新排序,那么怎么解決這一問題呢?很簡單,我們再加上根據Order By排序就可以了。
select row_number() over(ORDER BY t.taskcreatetime), t.ACTIVITYNAME, t.TASKTYPE from t_sys_flow_task t ORDER BY t.taskcreatetime;
查詢結果如下: