题解 | 某宝店铺动销率与售罄率
某宝店铺动销率与售罄率
https://www.nowcoder.com/practice/715dd44c994f45cb871afa98f1b77538
#1.先细粒度的按照item_id进行聚合操作,再粗粒度的按照style_id进行聚合操作
#这样做不行,因为有重复购买记录的商品会重复计算inventory在进行表连接的时候,所以需要分开计算
#因为商品表和销售记录表是一对多的一种关系,一种商品可以有多条消费记录,所以要分别进行计算
with t1 as(
select item_id,
sum(sales_num) as num,
sum(sales_price) as item_GMV
from sales_tb
group by item_id
)
#这样进行分组聚合可以确保item_id是唯一的,此时可以于商品表进行1对1的关联join
#然后进行粗粒度的按照style_id进行分组聚合
select style_id,
round(100*sum(num)/ (sum(inventory)-sum(num)),2) as 'pin_rate(%)',
round(100*sum(item_GMV)/ sum(inventory*tag_price),2) as 'sell-through_rate(%)'
from product_tb a
join t1 on a.item_id=t1.item_id
group by style_id
order by style_id
#1.先细粒度的按照item_id进行聚合操作,再粗粒度的按照style_id进行聚合操作
#不能直接进行聚合操作,因为有重复购买记录的商品会重复计算inventory在进行表连接的时候,所以需要分开计算
#因为商品表和销售记录表是一对多的一种关系,一种商品可以有多条消费记录,所以要分别进行计算
#通过item_id对销售表进行分组聚合可以确保item_id是唯一的,此时可以于商品表进行1对1的关联join
#然后进行粗粒度的按照style_id进行分组聚合
