-- 每个style_id的已经销售的数量/(每个style_id的库存量-已经销售的数量)
-- 每个style_id的GMV(就是sum(sales_price))/(吊牌价*库存数量)
with inventory_table as(
select item_id,style_id,
sum(inventory) over(partition by style_id) as inventory_num,
sum(inventory * tag_price) over(partition by style_id) as inventory_price
from product_tb
)
select
style_id,
round(100 * sum(sales_num) / (avg(inventory_num) - sum(sales_num)),2),
round(100 * sum(sales_price) / avg(inventory_price),2)
from sales_tb left join inventory_table on sales_tb.item_id = inventory_table.item_id
group by style_id
order by style_id
创建一个临时表储存库存信息(包括各大类的库存数量和备货值等数据)
用销售表连接库存信息表即可解出来,不难



京公网安备 11010502036488号