+ -
当前位置:首页 → 问答吧 → oracle题

oracle题

时间:2011-11-02

来源:互联网

数据库中如何求薪水最高的前5名

作者: GXW33   发布时间: 2011-11-02

select t.* from t where rownum <= 5 order by 薪水 desc

作者: xiaobn_cn   发布时间: 2011-11-02

--这五人工资工资最高
select * from (select t.* , row_number() over(order by sal) sal_rank from tablename) where sal_rank<=5;

--工资排前五名的人,可能超过五人,同一名次可能有多人
select * from (select t.* , dense_rank() over(order by sal) sal_rank from tablename) where sal_rank<=5;

作者: tx2730   发布时间: 2011-11-02

引用 1 楼 xiaobn_cn 的回复:

select t.* from t where rownum <= 5 order by 薪水 desc


这样有问题,需要套成子查询:
SQL code
select * from (select t.* from t order by 薪水 desc) where rownum <= 5

作者: cnwz   发布时间: 2011-11-02

引用 2 楼 tx2730 的回复:
--这五人工资工资最高
select * from (select t.* , row_number() over(order by sal) sal_rank from tablename) where sal_rank<=5;

--工资排前五名的人,可能超过五人,同一名次可能有多人
select * from (select t.* , dense_rank() over(order……

+1

作者: zxf261   发布时间: 2011-11-02