读书人

MySQL 分页sql话语练习

发布时间: 2012-08-31 12:55:03 作者: rapoo

MySQL 分页sql语句练习
[/align][align=left]取出sql表中第31到40的记录(以自动增长ID为主键)

select top 10 * from t where id not in (select top 30 id from t order by id ) order by id;

select top 10 * from t where id in (select top 40 id from t order by id ) order by id desc ;

mysql方案:select * from t order by id limit 30,10;

以以上语句为基础设计分页sql语句(直接利用sql语句进行分页,效率最高)
String sql = "select * from t limit"+(pageNo-1)*pageSize+","+pageSize;
select * from t limit (pageNo-1)*pageSize , pageSize;

oracle: sql = "select * from " +
"(select rownum r,* from " +
"(select * from articles order by postime desc)" +
"where rownum<= " + pageNo*pageSize +") tmp " +
"where r>" + (pageNo-1)*pageSize;

读书人网 >Mysql

热点推荐