Leetcode 176 第二高的薪水

2021-10-03 03:01:40 字數 1035 閱讀 3438

題目難度

簡單題目描述

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

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

正確答案

select

max(salary)

as secondhighestsalary

from employee

where salary <

(select

max(salary)

from employee)

;

分析

比最大值小的最大值是第二大值,查詢不到返回null

易錯答案

容易忽略返回null的要求,注意細節

select salary as secondhighestsalary

from employee

order

by salary desc

limit1,

1;

select ifnull(

(select

distinct

(salary)

from employee

order

by salary desclimit 1,1

),null

)as secondhighestsalary;

知識點

limit

排序desc:降序,從大到小 asc:公升序,從小到大

去重 distinct

ifnull(a,b)函式,如果a為null,執行b操作

Leetcode 176 第二高的薪水

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

Leetcode176 第二高的薪水

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

LeetCode176 第二高的薪水

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