网站建设需要准备那些内容,网页排版设计欣赏,网站怎么申请,网站建设中颜色的感染力Mycat后端通过jdbc接入oracle、db2、sqlserver、postgresql等通过以下2种方式支持分页语法
数据库原生分页直接解析
应用端可以通过直接执行原生分页sql到mycat#xff0c;各数据库原生分页支持如下#xff1a;
oracle支持三层嵌套和row_number两种分页#xff0c;以及ro…Mycat后端通过jdbc接入oracle、db2、sqlserver、postgresql等通过以下2种方式支持分页语法
数据库原生分页直接解析
应用端可以通过直接执行原生分页sql到mycat各数据库原生分页支持如下
oracle支持三层嵌套和row_number两种分页以及rownum控制最大条数
select * from ( select row_.*, rownum rownum_ from ( select sidfrom test where stsN order by sid desc ) row_ where rownum 15) where rownum_ 5;
SELECT *FROM (SELECT sid, ROW_NUMBER() OVER (ORDER BY sid ) AS ROWNUM1FROM test tWHERE sts N) XXWHERE ROWNUM1 5AND ROWNUM1 15;SELECT * FROM (SELECT * FROM test t) XXWHERE ROWNUM 5;
db2支持rownumber分页和fetch first rows only语法
SELECT *FROM (SELECT sid, ROW_NUMBER() OVER (ORDER BY sid ) AS ROWNUMFROM test tWHERE sts N) XXWHERE ROWNUM 5AND ROWNUM 15; SELECT sidFROM test ORDER BY sid descFETCH FIRST 15 ROWS ONLY;
Sqlserver支持row_number和row_number与top结合2种分页以及top限制最大条数
SELECT *FROM (SELECT sid, ROW_NUMBER() OVER (ORDER BY sid DESC) AS ROWNUMFROM testWHERE sts N) XXWHERE ROWNUM 10AND ROWNUM 25
select * from (select row_number() over(order by tempColumn) tempRowNumber,* from (select top 30 tempColumn0,sid from test where stsNorder by sid)t)tt where tempRowNumber20;
postgresql分页
select sid from test order by sid desc limit 10 offset 5;
等价于mysql的
select sid from test order by sid desc limit 5,10;
其实mysql也兼容limit offset写法 Limit语法自动转换原生分页
select sid from test order by sid desc limit 5,10;
通过将标准的limit语法自动翻译转换为各数据库的原生分页具体可以通过explain命令查看。