题解 | 刷题通过的题目排名
刷题通过的题目排名
https://www.nowcoder.com/practice/cd2e10a588dc4c1db0407d0bf63394f3
第一次写的时候,把id排序放在了窗口函数中、结果是,如果number数相同,被分配的rank并不相同,id小的rank高。这不符合输出示例。
select
id,
number,
dense_rank() over (
order by number desc, id asc) as t_rank
from passing_number
后面修改为:。另外需要注意的点是order by按照执行顺序是最后进行的,所以可以使用t_rank别名。
select
id,
number,
dense_rank() over (
order by number desc) as t_rank
from passing_number
order by t_rank asc, id asc
查看20道真题和解析
