求薪水最高的第6名到第10名雇員
uj5u.com熱心網友回復:
select *from (select t.*, rownum asd from 表名 t order by 薪水 desc) a
where a.asd between 6 and 10;
uj5u.com熱心網友回復:
select * from
(
select *
from employee
order by sales des
) where rownum between 6 and 10
試試
uj5u.com熱心網友回復:
select ename, sal from
(
select ename, sal, rownum r from
(select ename, sal from emp order by sal desc)
)
where r>=6 and r<=10
;
uj5u.com熱心網友回復:
可以使用 row_number 函式,這樣寫兩層 select 就可以了。uj5u.com熱心網友回復:
思路是:先用一個子查詢得到排名,然后對子查詢設定排名條件select *
from (select t.*, rownum asd from 表名 t order by 薪水 desc) a
where a.asd between 6 and 10;
uj5u.com熱心網友回復:
row_number over 而非rownum 樓主注意了uj5u.com熱心網友回復:
你們這是oracle吧 真方便啊。。uj5u.com熱心網友回復:
select * from(
select *
from employee
order by sales des
) where rownum between 6 and 10
uj5u.com熱心網友回復:
具體的陳述句不寫了,說個思路。把員工表按照工資降序,回傳員工資訊和rownum。最后再查下上面的結果集,去6到10位uj5u.com熱心網友回復:
select * from(select name,sal,row_number() over(order by sal desc) as ro)
where ro between 6 and 10;
uj5u.com熱心網友回復:
select * from
(select name,sal,row_number() over(order by sal desc) as ro from emp)
where ro between 6 and 10;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/31376.html
標籤:基礎和管理
上一篇:kettle報錯
