我一开始写的这样:
select if(t.salary is null or t.salary = '',null,t.salary)as SecondHighestSalary from (select id,salary,dense_rank()over(order by salary desc)as ranks from Employee ) t
where t.ranks = 2
但是提示我不对:
GPT回答:
参考答案:
select if(max(rk)<2,null,t1.salary) SecondHighestSalary from (select *,
dense_rank() over(order by salary desc) rk
from Employee)t1 where t1.rk=2;