oracle不支持mysql的limit功能

1、MYSQL使用limit返回指定的行数

select * from table limit m,n;
--从m+1行开始返回,返回n行
select * from table n;
--相当于select * from table 0,n;
select * from table m,-1;
--从m+1行开始返回,返回至最后一行

 

a、从http://www.xuesql.cn/得到测试数据

oracle不支持mysql的limit功能

 oracle不支持mysql的limit功能

 

b、select * from table limit m,n;

SELECT * FROM movies limit 5,5;

oracle不支持mysql的limit功能

 

c、select * from table n;

SELECT * FROM movies limit 5;

 oracle不支持mysql的limit功能

 

d、select * from table m,-1;

SELECT * FROM movies limit 5,-1;

oracle不支持mysql的limit功能

 

 2、oracle使用rownum来返回指定的行数

(rownum不是用户自定义的字段,是系统定义的伪列)

a、表accu的测试数据

oracle不支持mysql的limit功能

 

b、rownum是从1开始的

select * from accu where rownum<5;

oracle不支持mysql的limit功能

 

 c、rownum不支持一下的查询

select * from accu where rownum>5;
--这样查询不会出错,但是得不到数据
select * from accu where rownum=m;
--如果m=1,则返回第一行;如果m≠1,返回空

 

 d、查询第2行到第5行数据

select * from (select day_code,buss_month,fnum,rownum as num from accu) where num between 2 and 5 order by day_code;
--rownum是一个伪列,将其变成物理列再选择出来
--这是子查询方式

 oracle不支持mysql的limit功能

select * from accu where rownum<=5 minus select * from accu where rownum<2
--运用集合减运算,出现在第一个select中而不出现第二个select中

oracle不支持mysql的limit功能

 

详细知识讲解参考https://blog.csdn.net/mitedu/article/details/3584399

 

上一篇:内存管理——段描述符


下一篇:Using 1 worker with 2048MB memory limit 异常