ROWNUM是一个“伪列“,数据库中并不保存ROWNUM列的值。当某一行记录读入内存时,相应的ROWNUM才被动态地赋值 。也就是说他只是在查询结果后才会有值 rownum是随着结果集生成的,一旦生成,就不会变化了;同时,生成的结果是依次递加的,没有1就永远不会有2! oracle先给rownum赋值,再做排序