或定或摇江上柳,为鸾为凤月中篁。
浣溪沙·散步山前春草香

levi125

园龄:4年6个月粉丝:35关注:20

各类数据库分页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 中国大陆许可协议进行许可。

posted @   levi125  阅读(789)  评论(0编辑  收藏  举报
历史上的今天:
2020-09-10 博客园主题推荐awescnb-自定义
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开