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

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

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

第一次速度击败了100%的人,只用总和处于人数就可以,没用到题解的在对id进行商品的聚合,所以会快很多 用了 () in (select)来匹配每个用户的第一次订单,

select round(amount/num,1) ,
       round((cost-amount)/num,1)
from
(select sum(price*cnt) as cost,
       count(distinct uid) as num,
       sum(distinct total_amount) as amount
from  tb_order_detail de 
left join  tb_product_info info  using(product_id)
left join tb_order_overall ov  using(order_id)
where (uid ,event_time) in (select uid,min(event_time)
                    from tb_order_overall  group by uid)
       and left(event_time,7)="2021-10" and status=1) tmp


全部评论
tmp中的是唯一的一对,但是uid和event_time 可能存在多对与tmp中相同,所以要去重
点赞 回复 分享
发布于 2022-09-06 22:02 上海
where (uid,event_time) in 查询出来的表里uid不是唯一的么? 为啥count(uid)必须要distinct,不然就算错呢
点赞 回复 分享
发布于 2022-09-06 15:08 湖北

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

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