获取oracle中待查询数据排序后的排名 - Oracle / 开发
eg:
create table dml.cases(
num NUMBER primary key, --序号
name VARCHAR2(50), --案例名称
intro VARCHAR2(100), --案例简介
);
现在希望获得num=10 的数据 在按num 降序排列后的排名,也就是第几个
再补充个问题啊,就是要查按num 降序排列第十个数据怎么写,谢谢
SQL code:
select rownum rn,t.* from
(select * from dml.cases order by num desc) t
where t.num=10;
不能用rownum,因为rownum必须包含rownum=1的值,否则取不到
可以用分析函数row_number()帮你解决问题
SQL code:
--第10个数据
SELECT *
from (SELECT rownum rn, t.* from (SELECT * from dml.cases ORDER BY num DESC) t)
WHERE rn = 10;
create table dml.cases(
num NUMBER primary key, --序号
name VARCHAR2(50), --案例名称
intro VARCHAR2(100), --案例简介
);
再补充个问题啊,就是要查按num 降序排列第十个数据怎么写,谢谢
1 select count(*) from dml.cases where num>10;
2 补充问题:select * from dml.cases where rowid=10 order by dese;
1 select count(*)+1 from dml.cases where num>10;
2 补充问题:select * from dml.cases where rowid=10 order by dese;
好像都理解错我的意思了,第一个帖子的正确答案:
select row_number
相关问答:
exp user/password@dbname file=c:\table.dmp tables=jbitaku,jbitakum grants=y
然後按回車鍵 說明: user/password@dbname 分別表示用戶名,密碼和服務名 f ......
我在开发的这个应用并发性比较高,oracle更新数据时候如何处理并发处理呢?各位大侠发表好的观点啊,在线等待!
oracle数据更新时,会自动默认行锁定,楼主不要操心,Oracle对并行处理已经很成熟了
引用
oracle ......
在系统运行的时候总是有一块磁盘始终闪红灯,进入系统后
#topas查看总是有一块磁盘%BUSY为90%以上,
数据库版本:oracle 9.2.0.7
数据文件挂载的节点:/oradata/pcs/ 逻辑卷号lv04
#lslv -l lv04
......
做玩data guard 后
在Primary服务器 执行
SQL>SELECT SEQUENCE#,APPLIED from V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APP
---------- ---
13 NO
13 YES ......