176 第二高的薪水

2021-09-29 03:23:26 字數 840 閱讀 4472

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水(salary) 。

+----+--------+

| id | salary |

+----+--------+

| 1  | 100    |

| 2  | 200    |

| 3  | 300    |

+----+--------+

例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。

+---------------------+

| secondhighestsalary |

+---------------------+

| 200                 |

+---------------------+

思路:用distinct去重,然後用limit取出特定大小的那乙個元素,注意元素不存在的情況。

select (

select distinct

salary

from  employee 

order by salary desc limit 1,1)

as secondhighestsalary

方法二:

用ifnull函式:

select

ifnull(

(select distinct

salary

from employee

order by salary desc

limit 1 , 1),

null) as secondhighestsalary

176 第二高的薪水

編寫乙個 sql 查詢,獲取employee表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述employee表,sql查詢應該返回200作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回null。secondhighestsalary 200 思...

176 第二高的薪水

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水 salary idsalary 1100 2200 3300 例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。secondhighestsalary 20...

176 第二高的薪水

sql架構 編寫乙個 sql 查詢,獲取employee表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述employee表,sql查詢應該返回200作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回null。secondhighestsalary...