select *,
row_number() over(partition by user_no order by amount desc) r1,
rank() over(partition by user_no order by amount desc) r2,
dense_rank() over(partition by user_no order by amount desc) r3
from order_tab;
select *,row_number() over(partition by user_no order by amount desc) r
from order_tab
where r<=3;-- 报错:先执行where再执行select子句
select *
from (select *,row_number() over(partition by user_no order by amount desc) r
from order_tab) t
where r<=3;
在第一节基础上 更新了函数和执行顺序:实操了字符数函数、时间函数、字段截取函数、interval函数等,除最后顺序实操因未导入数据库,导致无法执行