.Net储物箱

------海纳百川,厚积薄发
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一道数据库面试题

Posted on 2007-10-23 19:57  Davi.Wang  阅读(792)  评论(4编辑  收藏  举报
表A
有两列   姓名   ,工资

            小王         2000
            小张         1200
            小非         2000
            小赵         5000

问题是找出工资排第二的人(包含重复)

--------
一个感觉比较灵活但是效率有点低的方法,不知道大家有更好的方法没?

create table test01
(
TestName varchar2(10),
GZ number(10)
)
;

insert into test01 values('小A','1000');
insert into test01 values('小B','2000');
insert into test01 values('小C','2000');
insert into test01 values('小D','3000');
insert into test01 values('小E','4000');
insert into test01 values('小F','3000');
insert into test01 values('小G','4000');

select * from test01 tt1
where (select count(distinct gz) from test01 tt2 where tt2.gz>=tt1.gz)=1