+----+--------+
| Id | Salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
找出第二高的工資,謝謝!
uj5u.com熱心網友回復:
select id, salary
from (select id, salary, dense_rank() over(order by salary desc) rank from 表名)
where rank = 2;
不過看你的輸出,感覺不像是oracle,不知道支不支持這個分析函式。
uj5u.com熱心網友回復:
SELECT TOP 1 * FROM (
SELECT TOP 2 * FROM tab ORDER BY Salary DESC
) AS a ORDER BY Salary
這種方式應該oracle也支持的吧
uj5u.com熱心網友回復:
這是什么資料庫的語法,沒見過……oracle不支持,12c開始,oracle有與mysql,postgresql等類似的limit分頁語法,但是12c之前,需要借用偽列rownum來完成這種功能:
select id, salary
from (select id, salary, rownum rn
from (select id, salary from tab order by salary desc))
where rn = 2
uj5u.com熱心網友回復:
