题解 | 分析每个商品在不同时间段的销售情况

分析每个商品在不同时间段的销售情况

https://www.nowcoder.com/practice/eec7a93e1ab24233bd244e04e910d2f9

关键(易错点):用where语句排除了第二季度无销售额的商品,故应该product表left join第二季度汇总表,才能确保所有商品都有记录。

总结:检查where筛选是否会排除某些需要的信息;表连接时要时刻关注是否出现null,是否需要处理

with sale_q2_table as (
    select p.product_id
    ,round(if(sum(total_amount) is not null,sum(total_amount),0),2) q2_2024_sales_total
    ,product_name
    ,category
    from product_info p
    left join order_info o on p.product_id=o.product_id
    where year(order_date) =2024 and month(order_date) in (4,5,6)
    group by p.product_id,product_name,category
)

select p.product_id product_id
,p.product_name
,case when q2_2024_sales_total!='None' and q2_2024_sales_total is not null then q2_2024_sales_total else 0.00 end
 q2_2024_sales_total
,rank()over(partition by p.category order by q2_2024_sales_total desc) category_rank
,supplier_name
from product_info p
left join sale_q2_table sa on p.product_id=sa.product_id
left join supplier_info s on p.product_id=s.product_id
order by product_id

全部评论

相关推荐

12-18 19:36
已编辑
门头沟学院 Java
程序员牛肉:可以的,简历没毛病了。 虽然还是偏向同质化,不过学历不错。后续我觉得重心放到刷实习+摆脱同质化问题上
实习简历求拷打
点赞 评论 收藏
分享
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
12-16 15:57
小鹏汽车 java后端 22*15(固定13,2个月年终) 硕士211
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务