문제. leetcode Database 177. Nth Highest Salary
SQL Schema & Explanation
Write a SQL query to get the nth highest salary from the Employee table.
+----+--------+
| Id | Salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
For example, given the above Employee table, the nth highest salary where n = 2 is 200.
If there is no nth highest salary, then the query should return null.
+------------------------+
| getNthHighestSalary(2) |
+------------------------+
| 200 |
+------------------------+
문제 설명 : n번째로 높은 봉급을 출력하라.
출처 : leetcode Database 177. Nth Highest Salary
나의 풀이 in MySQL
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
SET N = N-1;
RETURN (
# Write your MySQL query statement below.
SELECT Salary FROM Employee ORDER BY Salary DESC LIMIT N, 1
);
END
n번 째로 높은 봉급을 출력해야하므로 Employee 테이블을 Salary를 기준으로 내림차순했습니다.
Limit N,1은 N+1번째부터 1개를 추출하라는 의미이므로 쿼리 앞 부분에 N의 값을 N-1로 설정해줌으로써 n번 째로 높은 봉급을 출력하는 쿼리를 완성했습니다.
반응형
'Tests > Leetcode' 카테고리의 다른 글
[leetcode] MySQL > 180. Consecutive Numbers (0) | 2020.09.14 |
---|---|
[leetcode] MySQL > 183. Customers Who Never Order (0) | 2020.09.12 |
[leetcode] MySQL > 185. Department Top Three Salaries (0) | 2020.09.11 |
[leetcode] MySQL > 178. Rank Scores (0) | 2020.09.09 |
[leetcode] MySQL > 184. Department Highest Salary (0) | 2020.09.08 |
댓글