分页暂时我只记录一种经典格式的sql写法 就是用rownum 在几十万数据的库中进行查询效率还是够的
那种效率更高的通过rowid进行分页的就暂时不做记录。
1 首先写最外层的select 控制分页的上限
select * from () where rn >10 括号中填写控制下限的select rn为字段名
2 其实写里层的select 控制下限
select a.* , rownum rn from () a where rownum<=20 a为最终查询的表的查询结果别名 rownum~~分页字段 括号里为最终要查询的表的查询sql
3 最后写最里层的select 比如我们要查询puc_customer_account这张表
select * from puc_customer_account order by id
最后把 语句3放在语句2的括号里 再把组成的sql放在语句一的sql里 组合成的结果就是:
select * from ( select a.* ,rownum rn from(select * from puc_customer_account order by id) a where rownum<=20 ) where rn>10
这样就查出了puc_customer_account中排序好的 第11条~第20条数据了