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/得到测试数据
b、select * from table limit m,n;
SELECT * FROM movies limit 5,5;
c、select * from table n;
SELECT * FROM movies limit 5;
d、select * from table m,-1;
SELECT * FROM movies limit 5,-1;
2、oracle使用rownum来返回指定的行数
(rownum不是用户自定义的字段,是系统定义的伪列)
a、表accu的测试数据
b、rownum是从1开始的
select * from accu where rownum<5;
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是一个伪列,将其变成物理列再选择出来
--这是子查询方式
select * from accu where rownum<=5 minus select * from accu where rownum<2
--运用集合减运算,出现在第一个select中而不出现第二个select中
详细知识讲解参考https://blog.csdn.net/mitedu/article/details/3584399
标签:--,accu,limit,mysql,oracle,table,rownum,select 来源: https://www.cnblogs.com/muhai/p/15491126.html