Rownum是Oracle數據庫中的一個偽列,用于對查詢結果集中的行進行編號。Rownum是在數據被檢索出來后才會被分配給行,因此如果在排序后再使用Rownum,實際上是對排序前的結果進行行號分配,這樣就會導致Rownum對排序后的結果無效。
要對排序后的結果進行行號分配,可以使用子查詢或者窗口函數來實現。例如可以使用ROW_NUMBER()來在排序后的結果集中為行進行編號。