wo56565

2020-02-19   阅读量: 1833

Mysql

面试题:查询每个用户订单金额最高的前三个订单

扫码加入数据分析学习群

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;

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
7.7154 3 3 关注作者 收藏

评论(0)


暂无数据

推荐课程