題目難度
簡單題目描述
編寫乙個 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...