https://leetcode.com/problems/second-highest-salary/description/
Colunm Name | Type |
id | int |
salary | int |
Employee 테이블:
- id : 테이블의 고유 키
- salary : 직원의 급여
Employee 테이블에서 두 번째로 높은 급여를 찾으세요. 두 번째로 높은 급여가 없는 경우 null (Pandas에서는 None)을 반환하세요.
select *
from Employee
order by salary desc
먼저 테이블을 급여의 역순으로 정렬한다.
select distinct salary
from Employee
order by salary desc
limit 1
급여 열을 중복제거해서 출력하도록하고 limit로 가장 위의 행만 출력한다.
select distinct salary
from Employee
order by salary desc
limit 1 offset 1
offset으로 첫번째 데이터를 건너뛴다,
select (select distinct salary
from Employee
order by salary desc
limit 1 offset 1) SecondHighestSalary
해당 쿼리를 SecondHighestSalary라는 이름으로 출력해준다.
offset이라는 함수를 알게되었다. rank를 사용하지 않고 데이터의 특정 순위를 찾아낼 때 유용할 것 같다.
'코딩일기' 카테고리의 다른 글
SQL 코드카타 125 - List the Products Ordered in a Period (1) | 2024.07.14 |
---|---|
SQL 코드카타 124 - Group Sold Products By The Date (0) | 2024.07.14 |
SQL 코드카타 121 - Patients With a Condition (0) | 2024.07.14 |
SQL 코드카타 120 - Fix Names in a Table (0) | 2024.07.14 |
SQL 코드카타 119 - Department Top Three Salaries (3) | 2024.07.14 |