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

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

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

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

【问题】分析在2020年度第一季度的购买人数,销售金额,客单价,客单件

人均购买频次

【解题思路】

分析在2020年度第一季度的购买人数,销售金额,客单价,客单件

人均购买频次

此题应用“销售订单表”表的数据,要正确的解决,需要先了解实际的业务,考察的是经营分析中“人“(用户情况)的分析。

里面涉及到常用业务指标,如果忘记的话,可以在《衡量业务:指标体系》里回顾

1.购买人数

购买人数,要用到“销售订单表“中的”顾客ID“来分析出人数

在实际销售中一个用户可以在一个交易网点购买多次,或者在多个网点购买多次。

因此在计算“购买人数“时,需要用distinct去重后,再用count函数计数。


selectcount(distinct 顾客ID) as 购买人数
from 销售订单表;

2.销售金额

销售金额=销售数量 * 零售价


selectsum(销售数量*零售价)as 销售金额
from 销售订单表;

3.客单价

客单价是平均每个用户购买的金额,客单价=总销售金额/用户总数

总销售金额、用户总数在前面我们已经分析出来了,现在计算客单价就简单了,也就是


sum(销售数量*零售价)/count(distinct 顾客ID) as 客单价

完整SQL如下:


selectcount(distinct 顾客ID) as 购买人数,sum(销售数量*零售价)as 销售金额,sum(销售数量*零售价)/count(distinct 顾客ID) as 客单价
from 销售订单表;

与客单价经常混淆的还有笔单价(平均每笔交易的购买金额),

笔单价=总销售金额/订单总数

4.客单件

客单件是平均每个用户购买的件数,客单件=总销售数量/用户总数


sum(销售数量)/count(distinct 顾客ID) as 客单件

5.人均购买频次

人均购买频次是平均每个顾客购买几次,人均购买频次=总订单数/用户总数


count(订单号)/count(distinct 顾客ID) as 人均购买频次

到现在,我们已经得到了问题中的常用指标,购买人数、销售金额、客单价、客单件。但是,问题中还有一个条件,那就是分享下“在2020年度第一季度”的数据

通过条件筛选(where),可以得到符合条件的数据。需要用到日期和时间函数处理年份和季度的提取。


where year(交易日期)="2020" and quarter(交易日期)=1

把前面每一步的SQL放到一起,就是最终的SQL:


selectcount(distinct 顾客ID) as 购买人数,sum(销售数量*零售价)as 销售金额,sum(销售数量*零售价)/count(distinct 顾客ID) as 客单价,sum(销售数量)/count(distinct 顾客ID) as 客单件,count(订单号)/count(distinct 顾客ID) as 人均购买频次
from 销售订单表
where year(交易日期)="2020" and quarter(交易日期)=1;

【本题考点】

1.考察了日常经营分析中经常用到的指标,常用的指标可以回顾《衡量业务:指标体系》

2.分组汇总是常用的分析方法

3。考察字段别名的应用,把复杂的计算字段用as改成别名,缩短SQL

语句,让查询语句比较简洁

4.考察日期和时间处理函数的用法,常用的日期和时间函数如下:

SQL分析在2020年度第一季度的购买人数,销售金额,客单价,客单件人均购买频次(时间函数、分组汇总、常用指标计算)相关推荐

  1. 西航计算机学院学生会,“智”行千里,逐梦远航丨西航职院人工智能学院召开2020年度总结表彰暨新年联欢会...

    为全面总结2020年度工作,表彰2020年度校级技能大赛获奖学生和各项奖学金.优秀学生干部等先进个人,部署2021年工作.2020年12月17日下午四点,西航职院人工智能学院在南区学术报告厅召开202 ...

  2. oracle 月累计,oracle 可有什么方法 统计每月累积购买人数?

    oracle 可有什么方法 统计每月累积购买人数? oracle 可有什么方法 统计每月累积购买人数 比如说有个门店 2008年购买商品的人数 表:t_buy_log  字段 f_username 用 ...

  3. 云原生数据湖分析DLA 2020年年度总结

    简介:主要讲述阿里云数据湖分析DLA 2020年的进展~ 一.概述 2020年黑天鹅事件不断出现,疫情给人们的生活也带来了改变.在后疫情时代,伴随着云原生技术的发展,企业寻求更加敏捷.更加灵活的数据分 ...

  4. CVer最想知道的,简单分析下《2020年度中国计算机视觉人才调研报告》

    文章首发于CVer最想知道的,简单分析下<2020年度中国计算机视觉人才调研报告> 最近闲来无事,老潘以一名普通算法工程师的角度,结合自身以及周围人的情况,理性也感性地分析一下极市平台前些 ...

  5. Rimini Street宣布2020年第一季度财务业绩

    拉斯维加斯--(美国商业资讯)--全球企业软件产品和服务提供商.甲骨文和SAP软件产品领先的第三方支持服务提供商以及Salesforce合作伙伴Rimini Street, Inc. (Nasdaq: ...

  6. 武田宣布2020财年第一季度业绩;确认管理层指引,并提高全年列报运营利润和列报净利润

    日本大阪--(美国商业资讯)--武田药品工业株式会社(Takeda Pharmaceutical Company Limited, TOKYO:4502/NYSE:TAK)(简称"武田&qu ...

  7. Python再夺冠,上古语言COBOL大流行,IEEE Spectrum 2020年度编程语言排行榜出炉!...

    整理 | 屠敏 题图 | 东方 IC 出品 | CSDN 博客 领域驱动技术,技术鞭策领域. 近日,IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜.IEEE Spectrum ...

  8. 2020年度国产数据库:openGauss

    根据墨天轮2020年一年的数据库流行度得分趋势变化,我们选出了流行热度增长显著的数据库为2020年度国产数据库.恭喜 华为开源关系型数据库 openGauss 荣获 "2020年度国产数据库 ...

  9. 亓官劼的2020年度总结

    亓官劼的2020年度总结   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客 ...

最新文章

  1. 算法最少分组法_数据结构
  2. java无刷新上传图片_【java实现web文件无刷新上传】
  3. Android 通过局域网udp广播自动建立socket连接
  4. MATLAB应用实战系列(四十五)-matlab任意图形轮廓坐标提取【含源代码】
  5. ListView添加项目带序列
  6. 设置ComboBox控件的边框颜色.
  7. 做一个.net 程序员要掌握的知识提纲
  8. 用java来实现列出指定目录下的文件,子目录下的文件也要输出
  9. 《精通javascript》5,6章小结(一)
  10. [原] CentOS 7 安装 nginx, php mysql 套件
  11. docker容器部署的应用启动日志在哪里看_在SAP云平台上部署和运行Docker应用
  12. JDBC - 超快速拿捏
  13. 远不止三色,图片被压扁了,用Python的Tkinter做一个既高颜值又好用的计算器
  14. 二维码编辑网站推荐,哪个更好用?
  15. 物联网协议-CoAP协议简介
  16. 软件架构的10个质量属性
  17. labview—word报表使用
  18. 基于STM32设计的小说阅读器(翻页、字体切换、颜色切换、语音播报)
  19. 观《一个也不能少》后感
  20. 调用pyspark.ml库对信用卡逾期进行预测

热门文章

  1. Chrome浏览器网页保存成图片
  2. 用java写一个算工作日期的功能(考虑到节假日以及补班的情况)
  3. VS中更改exe程序图标
  4. 按下键盘计算机具体发生了点儿啥?
  5. 加拿大各省接受公立教育的初始年龄汇总 — 供携子女赴加的访学、博后参考
  6. SuperMap iDesktopX 影像/栅格数据不用导入导出即可分析处理啦!
  7. 【TypeScript】TS与Vue
  8. 【札记】Python处理TSV文件以及144790个英语单词的注音、释义、例句的.sql和.tsv文件下载
  9. 红绿灯检测之模板匹配呸呸呸呸
  10. python中assert是什么意思_你常常看到 Python 代码中的 assert 是个啥?