mysql查詢第二高薪水

mysql查詢第二高薪水

問題描述

編寫一條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定位取值!

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章