SQL如何分析商品订单?(表连接的区别、汇总函数)

69 篇文章 15 订阅
订阅专栏

【题目】

有两张表,一张是订单列表,表名为“订单明细表”;一张是用户名单,表名为“注册表”。“订单明细表”中的用户ID与”注册表”中的用户ID一一对应。

 

问题1:查询出每天成功付费的付费人数、付费金额、付费单量

问题2:2013年6月14日注册用户的付费人数、付费金额

【问题1解题思路】

查询出每天成功付费的付费人数、付费金额、付费单量

1.题中提到查询“每天”的数据,涉及到“每个”这类问题要想到《猴子 从零学会SQL》里讲过的“分组汇总”来解决这里类问题

按“付费时间”分组,每天的付费人数用汇总函数(count对用户ID这一列统计有多少行),每天的付费金额用汇总函数(sum对付费金额这一列求和),每天的付费单量要用汇总函数(count对订单号这一列有多少行)

2.上面涉及到的列用户ID、付费金额、订单号都在“订单明细表”里

3.需要注意的是,要统计的是“人数”而不是“人次”,所以在统计“用户ID”时要做一次去重处理

4.题目中并没有明确说明“付费时间”的数据格式,根据日常处理数据的经验,需要用时间处理函数(date_format)先把时间格式统一为“年月日”,也就是date_format(付费时间,'%Y-%c-%d')


select date_format(付费时间,'%Y-%c-%d') as 付费时间,
count(distinct 用户ID) as 付费人数,
sum(付费金额) as 付费金额,
count(订单号) as 付费单量
from 订单明细表
group by date_format(付费时间,'%Y-%c-%d');

 5.注意统计的是“成功付费”的数据,那么需要用条件(where)指定“订单状态”为“成功”,把“失败”的订单排除在外,也就是在上一步的SQL中加入where子句


select date_format(付费时间,'%Y-%c-%d') as 付费时间,
count(distinct 用户ID) as 付费人数,
sum(付费金额) as 付费金额,
count(订单号) as 付费单量
from 订单明细表
where 订单状态 =成功
group by date_format(付费时间,'%Y-%c-%d');

【本题考点】

1.如果涉及到“每个”的问题,需要想到用 分组汇总或者窗口函数去解决

2.考察了SQL对数据的分组应用,本题是在分组前对数据按条件筛选,使用的是where子句。如果是要对分组结果后的数据指定条件,记得是使用having,而不是where

3.考察对SQL汇总函数的应用,常用的汇总函数有以下几个:

【问题2解题思路】

查询出2013年6月14日注册用户的付费人数、付费金额

首先我们用 多维度拆解分析方法对问题拆解

1.先找出“2013年6月14日注册用户”,这个数据可以从“注册表”里查找到

2.再统计“2013年6月14日注册用户”的“付费人数”和“付费金额”总数,这个数据可以从“订单明细表”里找到

3.因为涉及到两张表,所以需要用到 多表联结。这道题目要我们找到的是“注册表”中有注册的用户,同时在“订单明细表”中指定日期消费过的用户,也就是两个表中“用户ID”这一列数据有交集的数据。

所有需要查找的同时出现在两张表中的共同数据,应该使用多表联结中的“内联结”(inner join)

 


select * 
from 订单明细表 as a
inner join 注册表 as b
where a.用户ID = b.用户ID;

 因为要统计的是付费人数,付费金额,我们在上一步SQL中加入汇总函数可以得到


select count(distinct 用户ID) as 付费人数,
sum(付费金额) as 付费金额 
from 订单明细表 as a
inner join 注册表 as b
where a.用户ID = b.用户ID;

4.找到两张表“用户ID”列共有的数据后,设置条件 where 注册表.注册时间= “2013年6月14日”。同时需要是有效订单,即订单明细表.订单状态=“成功”

5.同上一题一样,会用到时间处理函数(date_format),先把时间格式统一为“年月日”,也就是date_format(付费时间,'%Y-%c-%d')


select count(distinct 用户ID) as 付费人数,
sum(付费金额) as 付费金额 
from 订单明细表 as a
inner join 注册表 as b
where a.用户ID = b.用户ID
and date_format(b.注册时间,'%Y-%c-%d')=2013年6月14日
and a.状态 = 成功;

 

2.考察多表查询。通过“as”语句,自定义表的名称,能够比较方便的对两张表进行关联比较。以及如何判断使用哪种联结。 

表连接的区别

(1)通过INNER JOIN来从两个表获取数据

(在数据库语言中,被称为显性连接。内连接返回的是两个表匹配得上的数据,匹配不上的不返回。 注:INNER JOIN 和JOIN是一样的)

(2)通过LEFT JOIN来从两个表获取数据

(以左表为基础,显示左表中的所有列,而右表中的数据只显示与关联条件相匹配的列,不匹配的列以NULL字符填充。注:LEFT JOIN 和LEFT OUTER JOIN是一样的)

(3)通过RIGHT JOIN来从两个表获取数据

(以右表为基础,显示右表中的所有列,而左表中的数据只显示与关联条件相匹配的列,不匹配的列以NULL字符填充。注:RIGHT JOIN 和RIGHT OUTER JOIN是一样的)

left join 是以左表来作为一个基准,他只会拿到左表想要的数据。

right left是以右表来作为一个基准,他只会拿到右表想要的数据。

(4)通过FULL JOIN来从两个表获取数据

(显示两个表的全部列,不匹配的列以NULL字符填充。注:FULL JOIN 和FULL OUTER JOIN是一样的)

 

 

 

sql实战-电商订单数据分析
Zhunjunjun的博客
05-15 2267
SQL项目实战 1.数据集介绍 来源:kaggle 本数据集包含了2016年至2018年近10万条交易记录。 本次分析用到五张 olist_orders_dataset:包含订单id,顾客id,订单状态,购买时间等信息 olist_order_items_dataset:包含订单id,物品数量,商品id,商品价格和运费等信息 olist_order_reviews_dataset:包含评论id,订单id,评价分数等信息 olist_products_dataset:包含商品id,商品...
电子电器产品订单记录分析 三 (用户角度sql处理)
qq_46134891的博客
09-20 406
mysql分析新老顾客、复购率、rfm等
订单商品数据模型一对多查询映射
weixin_46055386的博客
08-03 723
2.一对多查询 resultMap 1.需求:查询订单订单明细信息。 2.sql语句 确定主查询订单 orders 确定关联查询订单明细 orderdetail 在一对一查询基础上添加订单明细关联即可 SELECT orders.*, USER .username, USER .sex, `user`.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.ite
按指定年份的月份对5种不同类型的订单数据进行统计问题总结
csdnlaiyanqi的博客
12-21 758
按指定年份的月份对5种不同类型的订单数据进行统计问题总结 需求: 如下图,需要按左上角切换年份来获取每个月5种不同类型的订单个数,如果没有对应类型的数据,所有月份不管有没有数据,必须要显示,也需要填充为零。 刚开始写出来的代码是无法满足每个月份都有,因此添加了一个12个月的月份视图作为主,把月份全部显示出来解决 CREATE VIEW v_months AS SELECT 1 as month UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT
使用SQL语言设计一个订单
最新发布
whyszan的博客
04-20 823
请合理根据实际生活中的业务,设计一个
sql-显示供应商供应零件的汇总(with rollup+coalesce)
12-14
文章目录题目数据分析代码运行结果 题目 本题目要求编写SELECT语句,在SPJ数据库中,列出各个供应商供应各种零件的数量合计的汇总。 要求:显示出每个供应商供应每种零件的数量合计和每个供应商供应所有零件的数量合计以及所有供应商供应的所有零件数量合计。 数据 链接: spj库 分析 使用WITH ROLLUP:在group分组字段的基础上进行统计数据。 函数COALESCE(expression_1,…,expression_n)依次参考各参数达式,遇到非null值即停止并返回该值。如果所有的达式都是空值,最终将返回一个空值。 代码 select coalesce(sno,'所有
使用SQL Server函数进行数据分析汇总
# 1. 理解SQL Server函数 ## 1.1 什么是SQL Server函数 SQL Server函数是一种用户自定义的函数,用于...函数在数据分析汇总中有广泛的应用。它们可以用于处理大量数据、计算统计指标、生成报等任务。通过
SQL2005 学习笔记 窗口函数(OVER)
09-11
SQL2005窗口函数】是SQL Server 2005引入的一种强大的数据分析工具,它允许用户在结果集的“窗口”上进行计算,而不仅仅是单行或整个结果集。这种函数使得处理复杂的统计计算变得更为简便,比如累计求和、移动平均...
SQL Server数据汇总五招轻松搞定
09-10
SQL Server中,数据汇总是数据分析的关键步骤,它可以帮助我们从海量数据中提取出关键信息。GROUP BY子句是SQL中用于实现数据分组和汇总的核心工具。在本篇文章中,我们将深入探讨如何利用GROUP BY子句进行有效的...
SQL server高级函数查询
SunnyDayyy的博客
05-24 616
高级函数的作用: 数据统计函数查询 数据分组查询 汇总数据 多查询 数据统计函数 数据函数的具体作用 -- 聚合函数 ------------count() 计算次数--------------------------- --计算订单的数目,并且取中文别名 select count(*) as '订单总数' from orders; --查看布鲁士的订单数目 select count(*) as '布鲁士的订单数' from orders where customer='布鲁士'; -
订单系统数据库
08-07
1)外模式 作用:外模式是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描 述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑示,是用户与数据库系统之间的接口,是保证数据库安全性的一个有力措施。 (2)模式 作用:模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 (3)内模式 作用:内模式是数据物理结构和存储方式的描述,是数据在数据库内部的示方式。
数据分析实战项目:SQL分析淘宝用户行为
joe_lee1的博客
04-28 1万+
文章目录一、项目背景及目的1.1 项目背景1.2 项目目的1.3 数据集来源与介绍二、数据导入2.1 图形界面工具导入2.2 以系统命令行导入三、数据清洗3.1 删除重复值3.2 查看缺失值3.3 时间格式转换3.4 过滤异常值四、数据分析4.1 基于用户行为转化漏斗模型分析用户行为4.1.1 常见电商指标分析4.1.1.1 UV、PV、UV/PV4.1.1.2 复购率4.1.1.3 跳失率4.1...
2020-08-12 sql对银行订单汇总并在汇总行下面显示明细信息(两种拙劣的解决方法)
qihoo233的博客
08-12 547
现有一张订单(样例数据,生产环境下,结构要复杂许多),下图这个样子: 现在想要把其中的银行做汇总,并且把该银行的所有订单都显示在下面。就是这个样子了: 做法我想了两种,一种就是使用union 先查出来所有的公司,然后每个公司做成一个小,然后把他们union起来 代码如下: SELECT '0' AS dingdan_num, yinhang AS namee, SUM( jine ) FROM dingdan WHERE yinhang = '汉口银行' UNION
电商订单模块的订单订单商品关系,1个订单对应多个商品的页面布局,el达式去掉重复的数据。
热门推荐
@必意玲
12-08 2万+
1:功能:我的订单信息,查看订单模块2:效果截图(红色为订单数据,绿色为商品数据)一个订单对应多个商品的数据关联关系。3:用table格显示出来,此时要考虑商品实付款的信息是订单的信息。而放在商品信息在tr里面,List商品信息时不处理后面的订单信息商品会出现以下“订单信息重复”效果。并不是我们想要的效果。4:解决方法:用el达式格式化 代码内容 <c:if test="${!empty bol
58.订单明细实时商品、品牌、spu 等维关联
song_quan_的博客
07-29 1062
2.3.1 关联方式 (1)方法 1:用明细依次和每个维度进行关联 ➢ 订单明细和商品关联 order_detail --> sku_id ➢ 订单明细商品和 spu 关联 订单明细宽(spu_id) --> spu 得到 spuname ➢ 订单明细商品和 spu 宽和品牌关联 订单明细宽(tm_id) --> tm 得到 tm_name ➢ 订单明细商品、spu、品牌宽和品类关联 订单明细宽(category3_id
50.订单和维度的关联
song_quan_的博客
07-29 213
5.3.1 OrderInfoApp 代码 5.3.2 测试 ➢ 运行 BaseDBMaxwellApp 和 OrderInfoApp 同步数据 ➢ 运行模拟生成数据的 jar 包 ➢ 查看控制台输出的 OrderInfoApp 是否和省份以及用户进行了关联 ...
SQL】— 面试SQL订单金额统计
Graylf的博客
05-10 4732
面试题中的一道sql题,比较考察对sql函数的掌握程度,记录一下,方便学习。   需求:           一张客户 tb_cust 如下: CUST_ID varchar(30) 客户编号(primary key) CERTIFICATE_NO varchar(18) 身份证号(not null)                  一张订单tb_...
mybatis实现订单的五联合操作
weixin_46072374的博客
03-11 682
一、数据库 1、Users 用户 2、Products 商品 3、Types 商品类别 4、Orders 订单 5、Details 订单详情 注:之间的逻辑关系如下图所示 二、代码时间实现 1、pom.xml添加 mysql、junit、mybatis依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns...
SQL 必知必会 50 题(41 - 45)
村雨遥
04-12 1098
牛客网 SQL 必知必会 50 题
Oracle分析函数详解与实战应用
Oracle分析函数是Oracle数据库中一种强大的工具,它们允许用户在SQL查询中执行复杂的计算和分析任务,尤其适用于数据仓库和分析型系统,与OLAP(Online Analytical Processing)环境紧密相关。这些函数在处理大规模...
写文章

分类专栏

  • 数据分析 1篇
  • 数据分析思维 2篇
  • 读书笔记 19篇
  • pandas 8篇
  • 数据可视化 5篇
  • excel 8篇
  • Python 13篇
  • 刷题 9篇
  • 习题 26篇
  • 爬虫 14篇
  • Leetcode 29篇
  • 分享 36篇
  • 爬虫 6篇
  • MySQL 14篇
  • SQL面试题 69篇
  • 考研历程 4篇
  • 笔记 4篇
  • 慕课题目 7篇
  • 蓝桥杯普及题 5篇
  • 算法计算经典 8篇
  • 视频例题 6篇
  • 课后习题 32篇
  • 书本课后习题 13篇
  • 学习笔记 3篇
  • 网页设计 13篇
  • 数据结构 7篇
  • c++ 42篇
  • 加强练习 1篇
  • java 44篇
  • 练习 9篇

最新评论

  • 二叉树知识点最详细最全讲解

    huijiaxiuxi: 引用「想」 相

  • 二叉树知识点最详细最全讲解

    Loui4_C: 直接复制的人家代码随想录的内容啊

  • 最新kaggle注册(不需要翻墙安装插件即可)

    橙子橙子-_: 超级感谢!!!!!!

  • 二叉树知识点最详细最全讲解

    2301_80657385: 引用「有」 右

  • 二叉树知识点最详细最全讲解

    言果: 二叉树定义那有错别字

大家在看

  • 今日最新早上好问候语精选大全,真诚祝福,健康平安 40
  • 2024华为杯|重磅更新优化|研究生数学建模ABCDEF思路、代码、论文助攻|持续优化更新中.... 88
  • Android13 屏蔽ANR和Crash弹窗 2183
  • 机器学习和深度学习的区别 465
  • 【Ambari自定义组件集成】Bigtop编译大数据组件,看这一篇就够了 1900

最新文章

  • 百分比问题,SQL给你答案(百分比计算)
  • SQL将会员按照总消费金额从高到低分成50档。(分档、分组)
  • SQL查询半年内没有违纪记录,并且期末考试总分为每个班级前10名的学生名单。(日期函数、where、group by)
2022年204篇
2021年29篇
2020年12篇
2019年48篇
2018年133篇
2017年3篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王重庆网站优化推广太原优化型网站承德优化网站服务门户网站的优化深圳网站优化培训学校门户网站优化规则锦州网站排名优化网站页面优化和结构优化网站关键词优化的好处网站做优化使用易速达深圳网站seo关键词优化技巧网站首页优化公司多少钱一年网站优化可以从哪些方面凉山做优化网站多少钱网络运营优化对网站有什么作用成都seo搜索引擎优化网站福州网站优化托管优化网站设计gf冫云速捷光山网站关键词优化怎么弄如何网站优化排名黄冈本地网站优化要多少钱亳州网站搜索优化价格堰桥网站优化公司如何优化网站浏览量沈阳优化网站企业优化网站的原因和作用分类网站优化营销黑帽网站优化浙江网站推广优化代理北京质量网站优化产品介绍香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化