sql题目
解答下该题目:一个表,存了一年的产品销售数据,写sql查询每个月订单金额最大的产品名称是什么?
必须用rank,怎么写,求大佬解答
必须用rank,怎么写,求大佬解答
全部评论
方法1:select 产品名称,订单金额,月份 from ge
where (产品名称,订单金额,月份) in(
select 产品名称,max(订单金额),月份 from ge
group by 产品名称,月份)
方法二:select 产品名称,订单金额,月份 from(
select 产品名称,订单金额,月份,rank()over(partition by 产品名称,月份 order by 订单金额 desc) 排名 from ge) as me
where me.排名=1
以月份聚合,rank排序分配序号,from子查询,where筛选序号
拆分写法:1.先求每个产品,订单的总和。2.在用rank进行排序 3.提取rank排序为1的即可。
selcet
product_id,
month
from
(
select
product_id,
month,
row_number() over(partition by month order by amt desc) as rank
from table
) t
where rank = 1

我会
子查询
相关推荐
点赞 评论 收藏
分享
01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 点赞 评论 收藏
分享