某店铺的商品信息表中记录了有哪些商品
【解题思路】
我们来分析一下问题,销售额=商品单价*数量。
1.多表联结
要用哪种联结呢?
因为要保留订单明细表中所有的数据,因此我们选择以订单明细表为左表,进行左联结。联结键为商品ID。
查询结果(t1):
2.条件筛选
问题中的限定条件有2个:
2)订单状态为支付
订单明细表中都是2019年数据,所以不需再额外限定。
查询结果(t2):
3.分组汇总
1)如何分组
分组要使用到groupby子句。本题按照商品名称分组,也就是groupby商品名称。
2)计算19年总销售和19年各月总销售
计算19年总销售。单个订单的销售额=订单数*单价,使用sum(订单数*单价)即可得到19年总销售额。
查询结果:
再来计算19年各月总销售。我们先以19年1月销售为例。
筛选结果表t2包含19年所有数据,如果直接求和显然不符题意。要计算1月份的销售额,要在聚合前加上if条件判断函数。
if函数有3个参数,第1个参数进行条件判断,若条件判断结果为真,则返回结果expr1,否则返回结果expr2。
THE END