반응형
https://leetcode.com/problems/second-highest-salary/description/
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
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'SQL' 카테고리의 다른 글
(SQL) - LeetCode (easy) 511. Game Play Analysis I (0) | 2023.04.12 |
---|---|
(Tibero7) - auto increment 처럼 sequence 사용하기 (0) | 2023.03.02 |
(MySQL) - LeetCode (easy) 182. Duplicate Emails (0) | 2022.12.15 |
(MySQL) - LeetCode (easy) 182. Duplicate Emails (0) | 2022.12.14 |
(MySQL) - LeetCode (easy) 181. Employees Earning More Than Their Managers (0) | 2022.12.13 |