主要信息

  • 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;