执行第一页生成对应的SQL如下: select * from ( select this_.STCD as STCD1_0_, this_.TM as TM1_0_, this_.Z as Z1_0_, this_.Q as Q1_0_ from ST_R this_ order by this_.TM desc ) where rownum <= ? 执行第二页和之后页数都会对应的SQL如下: select * from ( select row_.*, rownum rownum_ from ( select this_.STCD as STCD1_0_, this_.TM as TM1_0_, this_.Z as Z1_0_, this_.Q as Q1_0_ from ST_R this_ order by this_.TM desc ) row_ ) where rownum_ <= ? and rownum_ > ? 使用的是oracle数据库。 第一句SQL和第二句SQL的ROWNUM,由于取的方式不一样可能会造成同一条数据在第一页和第二页中出现而有的数据则不会取出来。。