mysql查詢第二高薪水

2021-10-01 18:50:15 字數 721 閱讀 1796

問題描述

編寫一條sql,查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。

表名為employee員工表

解決思路

有資料返回資料,無資料返回null。

根據這個要求,我們可以考慮採用mysql的ifnull函式:(摘自菜鳥教程)

ifnull() 函式用於判斷第乙個表示式是否為 null,如果為 null 則返回第二個引數的值,如果不為 null 則返回第乙個引數的值
完整的sql如下:

select

ifnull( ( select salary from employee order by salary desc limit 1, 1 ), null ) as secondhighsalary

結論:類似的場景我們都可以考慮使用ifnull函式

即有結果返回結果,沒有的話返回null。

另外呢,對應查資料中第二高的等等,取排序後的某乙個數值的,解決的思路是:先orderby排序,再limit定位取值!

希望能幫到各位,占用大家時間了!

查詢第二高薪水

表名employee idsaraly 1100 2200 3300 預期結果 secondhighestsalary 200mysql select max salary as secondhighestsalary from select salary from employee where s...

第二高薪水

需求 編寫乙個 sql 查詢,獲取employee表中第二高的薪水 salary 例如上述employee表,sql查詢應該返回200作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回null。解 select ifnull select distinct salary from employ...

MySql取第二高薪水

mysql取第二高薪水 1 select salary as secondhighestsalary from employee order by salary desc limit後面可以跟乙個或倆個引數 1 只有乙個引數時,預設取排序後最上面的一條 2 倆個引數時 i.第乙個引數代表從第幾條資料...