[SQL]第二高的薪水解題
阿新 • • 發佈:2022-03-17
Employee 表:
+-------------+------+
| Column Name | Type |
+-------------+------+
| id | int |
| salary | int |
+-------------+------+
id 是這個表的主鍵。
表的每一行包含員工的工資資訊。
編寫一個 SQL 查詢,獲取並返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查詢應該返回 null 。
查詢結果如下例所示。
示例 1:
輸入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
輸出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| 200 |
+---------------------+
示例 2:
輸入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
+----+--------+
輸出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| null |
+---------------------+
來源:力扣(LeetCode)
1.
SELECT DISTINCT salary AS secondHighestSalary FROM Employee ORDER BY salary DESCLIMIT 1,1
2.
SELECT salary AS secondHighestSalary FROM Employee ORDER BY salary DESC LIMIT 1 OFFSET 1