主要信息
- product_tb如下(其中,item_id指某款号的具体货号,tag_price表示标签价格);sales_tb如下(其中,item_id指货号,sales_num表示销售数量,sales_price表示结算金额):
- 请你统计折扣率(GMV/吊牌金额,GMV指的是成交金额)(折扣率保留两位小数)
问题拆解
总体思路
- 求统计折扣率,先求GMV,GMV即成交金额即实际销售额,即对销售额求和
- 求吊牌总额,吊牌总额=吊牌价格 * 销售数量,最后计算GMV/吊牌总额比率,并取有效数字
具体实现
- GMV = SUM(sales_tb.sales_price)
- 销售总额 = sales_tb.sales_num * product_tb.tag_price,注意:tag_price和sales_num没在一张表里面所以需要JOIN再一起在进行计算 ;(GMV/销售总额)* 100代表百分比,并使用ROUND取两位有效数字
SELECT ROUND(SUM(sales_price) /
SUM(sales_num * tag_price) * 100, 2) AS 'discount_rate(%)'
FROM sales_tb s
LEFT JOIN product_tb p ON s.item_id = p.item_id;