SQL222 对所有员工的薪水按照salary降序进行1-N的排名
首次接触窗口函数还不够熟, 重点是dense_rank的用法
select emp_no, salary, dense_rank() on (select salary from salaries order by salary desc) as t_rank from salaries order by t_rank; //wrong
错误原因: 1.on 是连接用语,应该用over; 2. 括号里已经不是子查询,而是排序,因此不用select...from 只需要order by 后面的东西
正确写法:
select emp_no, salary, dense_rank() over (order by salary desc) as t_rank from salaries order by t_rank;