每天一道大厂SQL题【Day24】华泰证券真题实战(六)

news2024/11/25 2:31:25

文章目录

  • 每天一道大厂SQL题【Day24】华泰证券真题实战(六)
    • 每日语录
    • 第24题:
      • 需求列表
    • 思路分析
    • 答案获取
    • 加技术群讨论
      • 文末SQL小技巧
    • 后记

每天一道大厂SQL题【Day24】华泰证券真题实战(六)

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

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

每日语录

每次想省钱的时候,就是你智商到达顶峰之时
在这里插入图片描述

第24题:

需求列表

编写一个脚本,代码可用python或pyspark或scala(40分)

需求:cust_pft是客户(cust_if)每天(date)的资产净值(pft),现在需要获得每个客户近1年的最大回撤:

最大回撤定义:在该客户的净值曲线中,当出现最大的净值的时点记为m1,这之后出现的净值比m1那天净值相差最大的净值记为m2,最大回撤就是(m2-m1)/m1.(注意是出现最大净值之后的最小净值,两者的差)

create or replace temporary view cust_pft (cust_id,date,pft)

as values

(1,‘2021-01-01’,10000),

(1,‘2021-01-02’,10010),

(1,‘2021-01-03’,10020),

(1,‘2021-01-04’,9999),

(1,‘2021-01-05’,9998),

(1,‘2021-01-06’,10020),

(1,‘2021-12-27’,6000),

(1,‘2021-12-28’,6001),

(1,‘2021-12-29’,6002);

思路分析

  • 使用MAX()函数计算最大回撤;
  • 使用子查询计算每个日期的价格、最高价格和回撤率;
  • 使用MAX() OVER()函数计算每个日期之前的最高价格;
  • 计算回撤率,并使用MAX()函数找到最大回撤。

答案获取

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

加技术群讨论

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

或者直接私信我进群

文末SQL小技巧

提高SQL功底的思路。
1、造数据。因为有数据支撑,会方便我们根据数据结果去不断调整SQL的写法。
造数据语法既可以create table再insert into,也可以用下面的create temporary view xx as values语句,更简单。
其中create temporary view xx as values语句,SparkSQL语法支持,hive不支持。
2、先将结果表画出来,包括结果字段名有哪些,数据量也画几条。这是分析他要什么。
从源表到结果表,一路可能要走多个步骤,其实就是可能需要多个子查询,过程多就用with as来重构提高可读性。
3、要由简单过度到复杂,不要一下子就写一个很复杂的。
先写简单的select from table…,每个中间步骤都执行打印结果,看是否符合预期, 根据中间结果,进一步调整修饰SQL语句,再执行,直到接近结果表。
4、数据量要小,工具要快,如果用hive,就设置set hive.exec.mode.local.auto=true;如果是SparkSQL,就设置合适的shuffle并行度,set spark.sql.shuffle.partitions=4;

后记

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

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

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

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

相关文章

如何生成以及校验token

1️⃣ What is token? token是令牌的意思,作用就像“通关令牌”一样,持有token的请求会被“放行”,不持有token的请求可以被拦截(可以设置白名单使不被拦截,例如登陆请求)。 token是由…

Dockere-Compose迁移Gitea部署

Dockere-Compose迁移Gitea部署 ps: 江湖不是打打杀杀,江湖是人情事故。 解释: Gitea:类似于Git的代码版本管理工具。Docker:Docker-Compose: Docker命令: 查看镜像:docker images 删除镜像…

web自动化测试入门篇07 ——— 用例编写技巧

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

idea中导入spring源码错误during working with external system: java.lang.AssertionError

标题:idea中导入spring源码错误during working with external system: java.lang.AssertionError 1.Spring源码编译环境 spring 5.3.1 JDK环境:1.8 Spring版本:5.3.1版本 开发工具:IntelliJ IDEA 2019.10 编译工具:Gradle-6.4-bin 操作系统:windows 10 注: sprin…

分支和循环语句(2)

文章目录 3.2 for循环3.2.1 for语句的语法3.2.2 for循环中的break和continue3.2.3 for语句的循环控制变量3.2.4 一些for循环的变种3.2.5 一道笔试题 3.3 do while循环3.3.1 do语句的语法3.3.2 do语句的特点3.3.3 do while循环中的break和continue 3.4 练习3.4.1 计算 n的阶乘3.…

数据可视化工具汇总:数字孪生产品的得力助手

数字孪生技术是一项快速发展的新兴技术,已经在许多领域得到广泛应用。数字孪生技术不仅可以提供完整的虚拟模型,还可以模拟物理系统的行为。在数字孪生技术的推动下,越来越多的数字孪生产品开始涌现出来,为不同的领域提供支持和解…

2023年保理产品研究报告

第一章 行业概况 1.1 概述 保理(Factoring),全称保付代理,又称托收保付,是一种通过将企业的应收账款出售给专业金融机构(保理公司)来获得资金的融资方式。保理业务通常包括两种类型&#xff1…

数据治理:解决一物多码,多品牌食品集团主数据管理实践

浙江顶誉集团是一家知名的食品加工集团,拥有久久丫、留夫鸭等多个品牌。一直重视企业信息化建设,更是把数字化作为集团的一大发展方向,立志不断加大数字化投入和建设,成为一个数字化的企业。因此,该企业与亿信华辰合作…

如何通过FAQ页面减轻客户支持压力,提高工作效率?

作为现代企业不可或缺的一部分,客户支持服务是为客户提供解决方案、回答问题和解决技术难题的关键部分。无论是产品管理还是销售环节,客户支持都是重要的一环。然而,有效地处理技术支持问题和客户请求并不容易。卓越的客户支持需要组织结构&a…

CCFC22102B 时钟分析

CCFC2012BC基于国芯科技自主PowerPC架构C*Core CPU内核研发,是一款汽车电子中高端车身及网关控制芯片,可广泛应用于车身控制和网关以及新能源车的整车控制,实现对国外产品如NXP(恩智浦)MPC5604BC、MPC5607B系列以及ST的…

Seurat -- variable features select

brief seurat提供的教学里面包含了Standard pre-processing workflow,workflow包括QC,normalization,scale data ,detection of highly variable features。其中 normalization就有蛮多方法的,seurat自己就提供了两种&#xff0c…

OpenGL入门教程之 坐标系统

原文文章 原文链接  本文仅对有代码的地方做讨论。 投影矩阵 创建一个正射投影矩阵 glm::ortho(0.0f, 800.0f, 0.0f, 600.0f, 0.1f, 100.0f);第一二个参数指定了平截头体的左右坐标,第三四个参数指定了平截头体的底部和上部,第五六个参数指定了近平面…

idea基于docker插件部署docker服务

IDEA开发完项目,直接部署至docker上镜像运行,接下来开始体验吧 注意:假定您的项目开发完了,假定你准备好了docker服务哈 没安装docker的来抄作业(docker的安装) 我的docker所在宿主机的内网ip:1…

银行卡识别OCR:解放金融业务处理效率的黑科技

引言 随着移动支付和电子商务的快速发展,人们越来越依赖银行卡进行交易。而银行卡信息的识别和处理也变得越来越重要。传统的手动输入银行卡信息方式效率低下且容易出错,而采用银行卡识别OCR 技术可以实现快速自动识别银行卡信息,极大地提高…

git把一个分支上的某次修改同步到另一个分支上,并解决git cherry-pick 冲突

背景 我们在工作中经常会碰到好几个同事共同在一个分支上开发,一个项目同时会有好几个分支,我们在feature上开发的功能时,有可能某个需求需要提前发布,这个时候我们已经在feature A上开发完成,但是需要在master上发布…

解锁阿迪达斯营销姿势,分析阿迪达斯成功背后的营销策略

阿迪达斯品牌在1920年创立于德国的运动品牌制造商——著名企业家阿道夫达斯勒,并且当年就开始生产该品牌的鞋类。如今,阿迪达斯已经象征着运动时尚的潮流品牌,在世界的舞台上大放异彩。因此阿迪达斯的营销策略一直备受关注,今天我…

乌合之众再次上演,打工人将被AI一键淘汰?

ChatGPT,是一场以硅谷为圆心,辐射至全球的人工智能竞赛,人们关于人工智能的担忧与思考从未停歇。一起来看看这篇文章,了解一下——大浪来袭,要怎么做才能保证自己不会溺水? 上个月底,千余名科技…

盛元广通病原微生物保藏信息管理系统

目前现状 微生物菌种是宝贵的生物资源,对微生物学研究和微生物资源开发与利用具有非常重要的价值。所以菌种的分类及保藏非常重要。当前,大部分实验室仍采用传统人工方式来管理和保藏病原微生物样本信息,不仅效率低下,且耗费大量人…

回溯/DFS算法专题

回溯/DFS算法专题 框架篇全排列问题N 皇后问题如果只需要一个合法答案,怎么办? 排列组合问题子集(元素无重不可复选)LeetCode 78. 子集解题思路代码实现 组合(元素无重不可复选)LeetCode 77. 组合解题思路代…

迅为iTOP-i.MX6ULL开发板I2C驱动程序实现 I2C通信

在第 67.1 章节学习 i2c 的时候,我们是在应用层操作设备节点对 i2c 设备进行读写的,那么如果我们在 驱动里面对 i2c 设备进行读写要怎么办呢?本章节我们将来学习。 我们复制第 67.3 章节的代码,在此基础上进行修改。我们在应用里…