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

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

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

1.将总表按照用户分组,时间升序,使用窗口函数,取最小时间 row_number() over(partition by uid order by event_time) rk

2.将两表联查,最小的时间为10月份的 即是10月新用户 1)rk=1

  1. status=1
  2. event_time=2021-10
    select a.uid,a.order_id,a.total_amount amount,sum(b.price * b.cnt)-a.total_amount kcb
    from (        
        select *,row_number() over(partition by uid order by event_time ) rk from tb_order_overall           
    ) a  
    join tb_order_detail b
    using(order_id)
    where a.rk=1 and a.status=1 and date_format(a.event_time, '%Y-%m') = '2021-10'
    group by a.uid,a.order_id,amount
)
select round(avg(amount),1),round(avg(kcb),1) from t 
全部评论

相关推荐

xwqlikepsl:感觉很厉害啊,慢慢找
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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