Kimuksung
Kimuksung 안녕하세요. 분산처리에 관심이 많은 생각하는 주니어 Data Enginner입니다.

leet code sql 177

177. Nth Highest Salary

문제


  • 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