leet code sql 177
문제
- N을 파라미터로 주고 Function을 실행시켰을 때 올바른 값을 출력
- 값이 없는 경우 Null
문제 접근
- Mysql에서는 limit N-1이 동작하지 않기에, 변수에 값을 다시 넣는다.
- 이후 distinct, group by 를 통해 그룹핑 및 가격순으로 역정렬하여 결과 출력
- limit N, 1 = N번째 부터 1개를 출력
- limit 1 offset N 과 동일
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE FUNCTION getNthHighestSalary(N INT)
RETURNS INT
BEGIN
set N = N-1;
RETURN (
# Write your MySQL query statement below.
select salary
from Employee
group by salary
order by salary desc
limit N, 1
);
END