每天一道大厂SQL题【Day03】订单量统计

news2024/11/22 21:20:01

每天一道大厂SQL题【Day03】订单量统计

大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题,以每日1题的形式,带你过一遍热门SQL题并给出恰如其分的解答。

一路走来,随着问题加深,发现不会的也愈来愈多。但底气着实足了不少,相信不少朋友和我一样,日积月累才是最有效的学习方式!

每日趣图

C:\Users\ADMINI~1\AppData\Local\TemputoolsDoutuPlugin/tempImage1675236007800.gif

第3题:订单量统计

需求

已知一个表STG.ORDER,有如下字段:Date,Order_id,User_id,amount。
数据样例:2017-01-01,10029028,1000003251,33.57。

请给出sql进行统计:

(1) 给出 2017年每个月的订单数、用户数、总成交金额。
(2)给出2017年11月的新客数(指在11月才有第一笔订单)

实现?

数据准备

CREATE TABLE test_sql.test3 (
dt string, order_id string, user_id string,
amount DECIMAL ( 10, 2 ) ) ROW format delimited FIELDS TERMINATED BY '\t';

INSERT INTO TABLE test_sql.test3 VALUES ('2017-01-01','10029028','1000003251',33.57); INSERT INTO TABLE test_sql.test3 VALUES ('2017-01-01','10029029','1000003251',33.57); INSERT INTO TABLE test_sql.test3 VALUES ('2017-01-01','100290288','1000003252',33.57); INSERT INTO TABLE test_sql.test3 VALUES ('2017-02-02','10029088','1000003251',33.57); INSERT INTO TABLE test_sql.test3 VALUES ('2017-02-02','100290281','1000003251',33.57); INSERT INTO TABLE test_sql.test3 VALUES ('2017-02-02','100290282','1000003253',33.57); INSERT INTO TABLE test_sql.test3 VALUES ('2017-11-02','10290282','100003253',234); INSERT INTO TABLE test_sql.test3 VALUES ('2018-11-02','10290284','100003243',234);

思路分析

–(1)给出 2017年每个月的订单数、用户数、总成交金额。
–先通过日期字段 “Date” 进行分组,将每个月的数据分别分组。
–对每个分组,统计订单数(count(Order_id))、用户数(count(distinct User_id))、总成交金额(sum(amount))。
–筛选日期为2017年的数据。
–将统计结果按月份进行排序。

–(2)给出2017年11月的新客数(指在11月才有第一笔订单)
–先通过日期字段筛选出2017年11月的订单记录。
–对于每个用户ID,检查是否存在在2017年11月之前的订单记录。
–如果不存在,说明该用户是在2017年11月才有第一笔订单,累加新客数。
–最终统计新客数。

答案获取

建议你先动脑思考,动手写一写再对照看下答案,如果实在不懂可以点击下方卡片,回复:大厂sql 即可。
参考答案适用HQL,SparkSQL,FlinkSQL,即大数据组件,其他SQL需自行修改。

加技术群讨论

点击下方卡片关注 联系我进群

或者直接私信我进群

后记

📢博客主页:https://manor.blog.csdn.net

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 Maynor 原创,首发于 CSDN博客🙉
📢不能老盯着手机屏幕,要不时地抬起头,看看老板的位置⭐
📢专栏持续更新,欢迎订阅:https://blog.csdn.net/xianyu120/category_12182595.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP 自定义SQL编辑器

导语:自定义SQL编辑器,可使用SAP ABAP的OPEN SQL语法进行编辑,快速出具简单报表,基本具备与SAP中DB02相似的功能。 此资源其中有两个版本,一个版本是网上的代码资料,另一个版本是本人优化过后的&#xff0…

Gerrit3.4.1安装使用

环境依赖jdk11 安装jdk11: 下载: wget https://download.java.net/openjdk/jdk11/ri/openjdk-1128_linux-x64_bin.tar.gz解压: tar zxvf openjdk-1128_linux-x64_bin.tar.gzsudo update-alternatives --install /usr/bin/java java /home/je…

Fiddler抓包工具配置+Jmeter基本使用

目录 一、Fiddler抓包工具的配置和使用 局域网络配置# Fiddler配置# Fiddler抓包实例# 二、Jmeter的基本使用 Jmeter的安装配置# 第一个Jmeter脚本# 一、Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为…

Docker容器及安装 01

前言 1.1 从环境配置说起 环境配置是软件开发的一大难题。开发、测试及运维人员需要相同的代码运行环境,如此一来就需要多次搭建环境,想想就觉得麻烦,实际上,在不了解docker等容器技术以前,还真就是这么干的&#xff…

2023年FOF/MOM基金研究报告

第一章 概况 FOF 是 Fund of Funds 的简称,即“基金中的基金”,是一种专门投资于其他投资基金的基金。FOF 并不直接投资股票或债券,其投资范围主要限于其他基金。按照募集方式,FOF 分为公募 FOF 和私募 FOF。 公募 FOF 是指将80…

python小游戏——飞机大战代码开源

♥️作者:小刘在这里 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放,愿所有的美好&#…

明细打印重影方案

一、问题描述生产上出现明细查询打印业务,部分客户打印数据时出现数据重叠现象,不利于客户使用,影响客户体验。二、问题原因对方户名公司名称字段目前没有限制,按照现有的分页处理机制,如果一页纸出现多个公司名称较长…

python中值传递、引用传递、global关键字

结论1、函数中,数值、字符、元组的传递是值传递 b 5 print(id b ,id(b))def change(b):print(\n)#print(在函数change中 修改前 id b ,id(b))b 0print(在函数change中 修改后 id b ,id(b))def print_b():print(\n)print(在函数print b中 b , b)print(在函数pri…

【C++修炼之路】C++入门(下)

👑作者主页:安 度 因 🏠学习社区:StackFrame 📖专栏链接:C修炼之路 文章目录一、前言二、内联函数1、概念2、特性三、auto(C 11)1、概念2、价值3、三个不能四、范围for循环(C11)1、基本使用2、使…

MySQL基础(3)—— MySQL数据类型

文章目录数值类型1、整数类型2、浮点数类型3、定点数类型日期和时间类型1、YEAR2、DATE、TIME、DATETIME3、TIMESTAMP字符串类型1、CHAR(M)2、VARCHAR(M)3、各种 TEXT 类型4、ENUM 类型和 SET 类型二进制类型1、BIT 类型2、BINARY(M) 与 VARBINARY(M)3、BLOB 类型MySQL说到底就…

移动出行2023:聊以新颜待今朝

兔年春节期间,城市再现浓浓烟火气。预订全满的年夜饭、排不到号的奶茶店以及火爆的电影票房等,证明着“吃、游、购、娱”等需求集中释放的“威力”。根据国家税务总局发布的最新数据,今年春节假期,全国消费相关行业销售收入与上年…

最长上升子序列问题(LIS问题)与最长不上升子序列问题的四种方法(c++ 模板代码)

文章目录动态规划树状数组线段树二分查找最大上升子序列问题也叫做LIS问题,与最大公共子序列LCS问题是一类经典问题,在本章我们将总结一下求解LIS最大上升子序列的几种方法,同时也会给出对应的最大不上升子序列的求解方法。 关于LCS问题&…

【表格单元格可编辑】vue-elementul简单实现table表格点击单元格可编辑,点击单元格变成输入框修改数据

前言 这是最近遇到的功能,经常会需要一个表格可以编辑数据 类似于excel那种点击一下单元格就可以编辑数据,修改后鼠标移动出去 光标消失就会保存数据给后台 这里记录一下实现方法,其实也比较简单 就是通过角标来判断显示隐藏的 效果图 代码…

[Android开发基础4] 点击事件的响应与处理

文章目录 方法一:控件的onClick属性 方法二:内部类 方法一:控件的onClick属性 利用控件自带的onClick属性,指定事件处理函数名称即可实现控件点击事件的处理 这里有个小技巧就是当设置完控件的onClick属性后,它会报没…

XXE漏洞常见利用点总结

目录 知识点小结 常用payload 本地文件读取 SSRF 引入外部实体 dtd 信息探测 XXE漏洞攻击 案例演示 案例一(有回显) 案例二(无回显读取本地敏感文件(Blind OOB XXE)) XXE 防御 使用语言中推荐的禁用外部实体的方法 知…

08-linux网络管理-iftop命令详解

文章目录1. 安装2. 基本使用2.1 命令2.2 输出2.3 说明3. 选项3.1 选项说明3.2 几个示例-n(不查找主机名)-i (查看指定网卡流量)-P(显示主机端口)-t(不使用ncurses 界面)4. ncurses界…

IDEA集成Docker插件实现一键自动打包部署

一. 概述 大家部署项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,直接上教程。 二. 配置服务器 1、Docker安装 服务器需要安装Docker,如…

iOS单元测试怎么写 ?

iOS单元测试怎么写 ? 什么是单元测试 ? 针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。对于面向对象编程,最小单元就是方法 iOS 集成了自己的测试框架 OCUnit 和 UITests 为什么单元测试 ? 执行单元测试&#x…

网络基础2-3 ---传输层的UDP协议:DP的特点,UDP的协议格式,UDP的应用

目录 一、tcpdump命令 二、UDP协议 前言 2.1、UDP协议的特点: 2.2、UDP的协议格式 16位的UDP长度: 结合抓包工具:分析一下UDP协议,就利用我们之前写的udp_socket编程 16位的校验和: 2.3、UDP的应用&#xff1…

Python的序列结构及常用操作方法,学完这一篇你就彻底懂了

上一篇:Python流程控制语句之跳转语句 文章目录前言一、索引二、切片三、序列相加四、乘法五、检查某个元素是否是序列的成员六、计算序列的长度、最大值和最小值总结前言 序列是一块用于存放多个值的连续内存空间,并且按一定顺序排列,每个值…