假设有这么一个表detail:
字段为: name rank
记录为: tom 1
jery 3
jim 2
li 4
.
.
.
name就是名字了,rank是个排名,现在想查询出的结果为排名最高的和排名最低的name.
如果这么写:select s1.*, s2.* from
(
(select t1.name from
(select name from rank order by rank) t1
where rownum = 1)
) s1,
(
(select t2.name from
(select name from rank order by rank desc) t2
where rownum = 2)
) s2
势必效率不高,请教高手更好的写法,谢谢
字段为: name rank
记录为: tom 1
jery 3
jim 2
li 4
.
.
.
name就是名字了,rank是个排名,现在想查询出的结果为排名最高的和排名最低的name.
如果这么写:select s1.*, s2.* from
(
(select t1.name from
(select name from rank order by rank) t1
where rownum = 1)
) s1,
(
(select t2.name from
(select name from rank order by rank desc) t2
where rownum = 2)
) s2
势必效率不高,请教高手更好的写法,谢谢
解决方案 »
- 关于oracle函数的写法,新手求助~~
- 严重: 启动 Database Control 时出错!导致使用pl/sql工具时报:ORA-12560:TNS:协议适配器错误
- ORACLE error 1 in FDPSTP
- 两个数据库数据迁移
- 使用sqllder导csv文件数据到oracle的问题,请指教。
- sqlplus中的afiledt.buf是什么文件
- 请求一个查询语句
- 请教连接oracle字符串的问题
- Help me!!!!如何使用utl_file包,输出路径问题!
- 怎样把oracle9i的数据库备份并导入到oracle8.1.6里,在线等待!
- 如何在存储过程中对一个字符串进行md5加密
- 我要做一个Job,时间间隔,是每天的24小时的每一个整小时点执行应该如何设置这个时间间隔
select * from detail where rank in
(select max(rank) from detail
union select min(rank) from detail)
用union来连接,我没想到。
如果记录数比较多呢
select * from detail where rank in (select max(rank) from detail)
union all
select * from detail where rank in (select min(rank) from detail)