본문 바로가기
Tests/Leetcode

[leetcode] 177. Nth Highest Salary (MySQL)

by 코딩하는 금융인 2020. 9. 10.

문제. 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

 

Nth Highest Salary - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


나의 풀이 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번 째로 높은 봉급을 출력하는 쿼리를 완성했습니다.

반응형

댓글