17,377
社区成员
发帖
与我相关
我的任务
分享
SQL> create table test (id number,val varchar2(10));
表已创建。
SQL> insert into test values(1,'val1');
已创建 1 行。
SQL> insert into test values(2,'val2');
已创建 1 行。
SQL> insert into test values(3,'val3');
已创建 1 行。
SQL> insert into test values(3,'valxxx3');
已创建 1 行。
SQL> insert into test values(4,'val4');
已创建 1 行。
SQL> insert into test values(5,'val5');
已创建 1 行。
SQL> insert into test values(6,'val6');
已创建 1 行。
SQL> insert into test values(7,'val7');
已创建 1 行。
SQL> insert into test values(8,'val8');
已创建 1 行。
SQL> insert into test values(9,'val9');
已创建 1 行。
SQL> insert into test values(10,'val10');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test order by id;
ID VAL
--------- --------------------
1 val1
2 val2
3 val3
3 valxxx3
4 val4
5 val5
6 val6
7 val7
8 val8
9 val9
10 val10
已选择11行。
SQL> select * from (
2 select id,val,rownum num from test order by id)t where t.num>=4 and t.num <=6
3 ;
ID VAL NUM
--------- -------------------- ---------
3 valxxx3 4
4 val4 5
5 val5 6
SQL>
select *
from (select id,Name ,row_number() over(order by id) rn
from basshp) t
where t.rn>=4 and t.rn<=6
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ------------------ ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12る-80 800 20
7499 ALLEN SALESMAN 7698 20-2る -81 1600 300 30
7521 WARD SALESMAN 7698 22-2る -81 1250 500 30
7566 JONES MANAGER 7839 02-4る -81 2975 20
7654 MARTIN SALESMAN 7698 28-9る -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5る -81 2850 30
7782 CLARK MANAGER 7839 09-6る -81 2450 10
7839 KING PRESIDENT 17-11る-81 5000 10
7844 TURNER SALESMAN 7698 08-9る -81 1500 0 30
7900 JAMES CLERK 7698 03-12る-81 950 30
7902 FORD ANALYST 7566 03-12る-81 3000 20
7934 MILLER CLERK 7782 23-1る -82 1300 10
匡 12
SQL> select empno,rownum rn from scott.emp order by empno;
EMPNO RN
---------- ----------
7369 1
7499 2
7521 3
7566 4
7654 5
7698 6
7782 7
7839 8
7844 9
7900 10
7902 11
7934 12
匡 12
SQL> select * from (select empno,rownum rn from scott.emp order by empno) t
2 where t.rn between 4 and 6;
EMPNO RN
---------- ----------
7566 4
7654 5
7698 6
SQL>