你把rn显示出来,这条id=9的rn肯定是8--要用排完序的rownum才有哦意义--用下面的语法你再看看select *from (select a.*,rowmun as rnfrom (select id,name,saledate from es_product order by 1) a) twhere rn>=5 and rn<=8