반응형
문제 출처 :
https://leetcode.com/problems/nth-highest-salary/
문제 해결에 필요한 사항
1. SET
N번째 큰 값을 찾아야한다.
이때 LIMIT A, B는 A번째까지 제외한 A+1 ~ A+B 번째를 출력해준다.
따라서 우리는 N번째를 구해야하니 N = N - 1을 해주고
LIMIT N, 1을 해주면 N - 1 + 1 ~ N - 1 + 1 == N ~ N이 되기에 N번째의 값이 출력된다.
소스 코드 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN SET N = N - 1; RETURN ( # Write your MySQL query statement below. SELECT IFNULL( (SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT N, 1), NULL ) ); END | cs |
반응형
'Applied > Database' 카테고리의 다른 글
[Programmers] 고양이와 개는 몇 마리 있을까 (0) | 2019.09.09 |
---|---|
[184번] Department Highest Salary (0) | 2019.06.14 |
[183번] Customers Who Never Order (0) | 2019.06.06 |
[176번] Second Highest Salary (0) | 2019.06.04 |
[182번] Duplicate Emails (0) | 2019.05.30 |