举个例子,希望抛砖引玉:
select rownum from
(select rownum from tabname order by 1) where rownum<=1000
select rownum from
(select rownum from tabname order by 1) where rownum<=1000
解决方案 »
- oracle10g,一个聚合查询难题。。。
- ORACLE 如何引发一个应用级别的异常
- 如何取某一字段加起来大于50的前面几列
- 如何查看ORACLE的登陆日志?
- 一个关于trigger的奇怪问题,求助
- 如何使用select case实现下面的逻辑啊?
- 如何用ORACLE客户端修改服务器的系统时间?
- 菜鸟雪地跪求:ORACLE9i在AIX5.2上安装出错
- 关于连接Oracle中的特定的数据库的问题
- Oracle里有没有随机函数?我想把一个表里的数据选出来,然后按照给定的百分比随机插入另外一张表
- 请问哪里有powerdesign9的电子书下载,不胜感激
- 请教高手:在delphi6中, sys或system 等DBA用户如何连接到oracle9i ?
我也没见过,学习。。
RANK() OVER (PARTITION BY deptno ORDER BY sal DESC, comm) as rk
FROM emp; DEPTNO ENAME SAL COMM RK
---------- ---------- ---------- ---------- ----------
10 KING 5000 1
10 CLARK 2450 2
10 MILLER 1300 3
20 SCOTT 3000 1
20 FORD 3000 1
20 JONES 2975 3
20 ADAMS 1100 4
20 SMITH 800 5
30 BLAKE 2850 1
30 ALLEN 1600 300 2
30 TURNER 1500 0 3
30 WARD 1250 500 4
30 MARTIN 1250 1400 5
30 JAMES 950 6
2 ROW_NUMBER() OVER (ORDER BY sal DESC, comm NULLS LAST) as rk
3 FROM emp; DEPTNO ENAME SAL COMM RK
---------- ---------- ---------- ---------- ----------
10 KING 5000 1
20 SCOTT 3000 2
20 FORD 3000 3
20 JONES 2975 4
30 BLAKE 2850 5
10 CLARK 2450 6
30 ALLEN 1600 300 7
30 TURNER 1500 0 8
10 MILLER 1300 9
30 WARD 1250 500 10
30 MARTIN 1250 1400 11 DEPTNO ENAME SAL COMM RK
---------- ---------- ---------- ---------- ----------
20 ADAMS 1100 12
30 JAMES 950 13
20 SMITH 800 14已选择14行。
SELECT deptno, ename, sal, comm,
ROW_NUMBER() OVER (ORDER BY sal DESC, comm NULLS LAST) as rk
FROM emp)
WHERE rk <= 10;
对于按主键排序的
select rownum from accinvhead order by inv_code(主键)
对于按非主键字段排序的
select rownum from
(select rownum from accinvhead order by inv_date(非主键)) where rownum<=1000 order by rownum
我试过了