【场景】:分组求和
【分类】:分组查询
分析思路
难点:
1.GMV:累计结算金额,即 sum(sales_price)
2.吊牌总金额:产品数量*吊牌单价,即 sum(sales_num * tag_price)
select 查询结果 [折扣率]
from 从哪张表中查询数据[产品情况表;销售数据表]
求解代码
错误代码
select
round(100*sum(sales_price/sales_num)/sum(tag_price),2) as discount_rate
from product_tb
join sales_tb using(item_id)
为什么: 100*sum(结算金额 / 数量) / sum(吊牌单价) 就是错的呢?
可以举个例子,分子分母相加减要注意 4/7 不等于 1/2 + 3/5
正确代码
select
round(100*sum(sales_price)/sum(tag_price*sales_num),2) as discount_rate
from product_tb
join sales_tb using(item_id)