题解 | #10月的新户客单价和获客成本 预处理#

10月的新户客单价和获客成本

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

使用CTE语法来进行预处理

with t2 as (
    select
        order_id,
        sum(price) sumprice
    from tb_order_detail tod
    group by order_id
	#获取每单商品单价之和
),
t3 as (

    select
        uid,
        order_id,
        rank() over (partition by uid order by event_time) n,
        total_amount
    from tb_order_overall
    where date_format(event_time,'%Y-%m')
	#过滤掉日期不符的,并且先给上排号
)
select
    round(avg(total_amount),1) avg_amount,#这就是核心逻辑
    round(avg(sumprice-t3.total_amount),1) avg_cost#这就是核心逻辑
from
t2 right join t3 on t2.order_id=t3.order_id
where n=1;

最近在研究Hive的数据倾斜问题,有个处理方法就是对数据进行预处理,减少join的数据条数

CTE YYDS!

全部评论
t3里面的where是下面这个,复制错了 where date_format(event_time,'%Y-%m')='2021-10'
点赞 回复 分享
发布于 2024-03-22 10:06 贵州

相关推荐

被普调的六边形战士很高大:项目经历貌似和专业或者求职方向没大关系?
点赞 评论 收藏
分享
牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务