以前分頁(yè)習(xí)慣用這樣的SQL語(yǔ)句:
select * from
(select t.*,rownum row_num from mytable t order by t.id) b
where b.row_num between 1 and 10
結(jié)果發(fā)現(xiàn)由于該語(yǔ)句會(huì)先生成rownum 后執(zhí)行order by 子句,因而排序結(jié)果根本不對(duì),后來(lái)在GOOGLE上搜到一篇文章,原來(lái)多套一層select 就能很好的解決該問(wèn)題,特此記錄,語(yǔ)句如下:
select * from
(select a.*,rownum row_num from
(select * from mytable t order by t.id desc) a
) b where b.row_num between 1 and 10