各类数据库分页SQL语法
一. Mysql分页SQL语法
收到客户端{pageNo:1,pagesize:10}
select * from table limit (pageNo-1)*pageSize, pageSize;
select * from table limit pageSize offset (pageNo-1)*pageSize;
select * from table limit 0, 10;
select * from table limit 10 offset 0;
二. Apache Doris分页SQL语法
需要 order by 字段
收到客户端{pageNo:1,pagesize:10}
select * from table order by ID limit pageSize offset (pageNo-1)*pageSize;
select * from table order by ID limit 10 offset 0;
三. PostgreSql分页SQL语法
收到客户端{pageNo:1,pagesize:10}
select * from table limit pageSize offset (pageNo-1)*pageSize;
select * from table limit 10 offset 0;
四. Apache Impala分页SQL语法
需要 order by 字段
收到客户端{pageNo:1,pagesize:10}
select * from table order by ID limit pageSize offset (pageNo-1)*pageSize;
select * from table order by ID limit 10 offset 0;
五. Oracle分页SQL语法
返回会多出一个字段row_id
收到客户端{pageNo:1,pagesize:10}
select *
from (select tmp_page.*, rownum def_row_id
from ( SELECT * FROM table_name ) tmp_page
where rownum <= pageNo*pagesize)
where def_row_id > (pageNo-1)*pageSize;
select *
from (select tmp_page.*, rownum def_row_id
from ( SELECT * FROM table_name ) tmp_page
where rownum <= 10)
where def_row_id > 0;
六. Teradata分页SQL语法
需要 order by 字段
收到客户端{pageNo:1,pagesize:10}
select * from table_name
qualify row_number() over(order by id) > (pageNo-1)*pageSize and row_number() over(order by id) <= pageNo*pagesize;
select * from table_name
qualify row_number() over(order by id) > 0 and row_number() over(order by id) <= 10;
本文作者:levi125
本文链接:https://www.cnblogs.com/levi125/p/15252221.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2020-09-10 博客园主题推荐awescnb-自定义