• 这个问题最难的地方就是变量的业务能力
  • 其次值得注意是,直接使用JOIN连接两表计算特征时,由于JOIN会导致产品表的行数增加,从而通过聚合函数容易导致高估库存量,因此应先将销售表进行汇总各个产品的情况,然后再进行产品的连接并计算
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
JOIN (
    SELECT item_id
            ,SUM(sales_num) AS num
            ,SUM(sales_price) AS item_gmv
    FROM sales_tb
    GROUP BY item_id
) data1 USING(item_id)
GROUP BY style_id