数据库中几种常见的分页操作

对数据进行分页处理是常常会用到的,在这里不阐述它们各个方法的效率性,此处记录方法

1.已知数据条数和每页条数

每页:10条   

总数据:100条

需分页10页

select  top 10 * from  表名  where id not in (select top 100 id from 表名 order by id) 

2.不知道数据总数

limit用法:

limit 100   返回100条数据(返回100条数据,限制数据的数量) limit n 相当于 limit (0,n)

select * from 表 order by id  limit 10 offset 0 (返回10条数据,从第1行开始,索引0)

select * from 表 order by id limit 3,6  (从4开始取,取6行,即4,5,6,7,8,9)

select * from 表 order by id limit 2,-1 (从第三行取数据,一直到最后last)

分页:select * from table order by id where id>每一页最后一行数据的id  limit 100         (取数据的同时分页,循环查询,limit限制一页100,where 条件id>每一页最后一行的id)     适用于pgsql或mysql

temp=conn.execute(sql)

shuju=temp.fetchall()

if len(shuju)==0

  break

num=len(shuju)-1

if(shuju!=none)

  endID=shuju[num][0]     (最后一行数据id的取值和存储)

else

  break

猜你喜欢

转载自www.cnblogs.com/xingxingzhou/p/9068628.html