SQL編寫實戰 查詢第N高的資料

2021-10-04 13:02:35 字數 1162 閱讀 5393

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

+

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

| id | salary |

+----+--------+|1

|100||

2|200||3

|300|+

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

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

+

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

| secondhighestsalary |

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

|200|+

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

sql架構:

create

table

ifnot

exists employee (id int

, salary int

)truncate

table employee

insert

into employee (id, salary)

values

('1'

,'100'

)insert

into employee (id, salary)

values

('2'

,'200'

)insert

into employee (id, salary)

values

('3'

,'300'

)

注:此題**於leetcode,戳我前往

查詢第n高問題的整體思路是:

select

ifnull(

(select

distinct salary

from employee

order

by salary desc

limit1,

1),null

)as secondhighestsalary;

(SQL)177 第N高的薪水

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

力扣資料庫 第N高的薪水

編寫乙個 sql 查詢,獲取 employee 表中第 n 高的薪水 salary id salary 1100 2200 3300 例如上述 employee 表,n 2 時,應返回第二高的薪水 200。如果不存在第 n 高的薪水,那麼查詢應返回 null。getnthhighestsalary ...

LeetCode 資料庫題目 177 第N高的薪水

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