题解 | #10月的新户客单价和获客成本#
10月的新户客单价和获客成本
https://www.nowcoder.com/practice/d15ee0798e884f829ae8bd27e10f0d64
主要是关系有点乱,需要理清楚。
我们需要的:
该订单各商品单价*数量 来自tb_order_detail
平均交易金额 和 订单总金额 来自tb_order_overall那么我们就从这两个表构造新表,通过所给公式计即可
注意:要的是首单和2021-10的数据,所以别忘加约束条件,约束条件加在哪里都可以。
with o1 as
(select order_id,uid,total_amount,event_time,total_cnt-- 首单的订单信息
from (select *,row_number() over(partition by uid order by event_time asc)rk from tb_order_overall) t1
where rk=1),
o2 as
(select order_id,sum(price*cnt) yf -- 每个订单的应付金额
from tb_order_detail
group by order_id)
select round(avg(total_amount),1) avg_amount, round(sum(yf-total_amount)/count(*),1) avg_cost
from o1 left join o2 on o1.order_id=o2.order_id
where date_format(event_time,'%Y-%m')='2021-10'