Second highest salary with a case expression
I’m doing some leetcoding and came across a SQL question to find the second highest salary. in cases where there isn’t a second highest salary, it should return null. This solution: select max(salary) SecondHighestSalary from employee where salary < (select max(salary) from employee) will indeed return ‘null’ if there is no second salary, i.e. the max function will return null. However, my question is for this query: with sal as ( select salary, rank() over (order by salary desc) sal_rank from employee ) select case when salary is null then null else…
Read More