ITPub博客

首页 > 数据库 > 数据库开发技术 > 如何查看每个城市的生意如何?

如何查看每个城市的生意如何?

原创 数据库开发技术 作者:猴子数据分析 时间:2022-08-11 20:00:00 0 删除 编辑


【面试题】某公司数据库里有 3 张表,销售订单表、产品明细表、销售网点表


“销售订单表”记录了销售情况,每一张数据表示哪位顾客、在哪一天、哪个网点购买了什么产品,购买的数量是多少,以及对应产品的零售价



“产品明细表”记录了公司产品的详细信息

“销售网点表”记录了公司的销售网点


销售订单表、产品明细表、销售网点表字段之间的关系如下


销售订单表和产品明细表通过“产品”字段关联,销售订单表和销售网点通过“交易网点”关联


【问题】计算每个城市的店铺数量及各个城市的生意汇总,输出包含无购买记录的城市


【解题思路】


1.多表联结


此题需要第一个表“销售订单表”和第三个表“销售网点表”的联结。


因为要输出“无购买记录”的城市,说明“销售网点”表的范围比较大。所以,以“销售网点”表为主表,两个表联结的字段是“交易网点”,多表联结SQL如下:


select *from 销售网点表 as c left join 销售订单表 as aon c.交易网点=a.交易网点;


2.每个城市的店铺数量


这里按“城市”分组(group by),然后汇总(交易网点数量count)


3.每个城市的生意汇总


每个城市的生意汇总也就是分析出每个城市的销售额,销售额=销售数量*零售价。可以按“城市”分组(group by),然后汇总(对销售额进行求和sum)


最终SQL如下:


select c.城市    ,count(c.交易网点) as 交易网点总数量    ,sum(a.销售数量*a.零售价) as 城市生意汇总 from 销售网点表 as c left join 销售订单表 as aon c.交易网点=a.交易网点group by c.城市;


SQL运行结果




 ⬇️点击「阅读原文」

 免费报名 数据分析训练营

原文作者:猴子数据分析;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2017-01-16

  • 博文量
    865
  • 访问量
    345536