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筛选序号
子查询
我会
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
拆分写法:1.先求每个产品,订单的总和。2.在用rank进行排序 3.提取rank排序为1的即可。
相关推荐
11-18 09:44
Java 点赞 评论 收藏
分享