본문 바로가기

SQL

(MySQL) - LeetCode (medium) 176. Second Highest Salary

반응형

https://leetcode.com/problems/second-highest-salary/description/

 

Second 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

sub query로 해결한 문제였습니다.

📕 풀이방법

📔 풀이과정

가장 간단한 방식으로 중복값 제거후 내림차순으로 정렬해 한 행만 나오도록 limit 1로 설정, 이후 두 번째부터 출력하도록 offset을 1로 설정해 작성했으나 틀렸다고 나옵니다. 행이 한 개뿐인 table에 대해 두 번째 행이 없으므로 아무 행도 출력되지 않기 때문입니다. 이는 subquery로 임시 table을 생성해 여기서 두 번째 행을 선택하게 되면 null값을 뽑을 수 있습니다.


📕 Code

📔 MySQL

select ifnull((select distinct(salary) from Employee order by salary desc limit 1, 1), null) as SecondHighestSalary

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.