腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票

devtools/2025/2/28 10:56:39/

腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票

作者:某七年数据开发工程师 | 2025年02月23日
关键词:SQL窗口函数、连续问题、股票分析、腾讯面试题


一、问题背景与难点拆解

在股票量化分析场景中,"连续N天满足条件"是高频面试题类型。本题要求在单表stock_data中,筛选出连续5天以上(含)每日涨幅≥5%的股票,并输出连续天数及起止日期。其核心难点在于:

  1. 涨幅计算:需通过时间窗口函数获取前一日收盘价
  2. 连续性判断:如何将离散的日期序列转化为连续区间
  3. 性能优化大数据量下避免全表扫描(如十亿级交易记录)

💡 趣味比喻:这就像在股票市场的马拉松中,找到那些连续5天都在"冲刺"的选手,而不仅仅是偶尔爆发。


二、解题思路与技术实现

1. 数据预处理:计算每日涨幅

sql">WITH daily_return AS (SELECT stock_code,trade_date,closing_price,-- 计算当日涨幅(前一日为基准)ROUND(closing_price / LAG(closing_price) OVER (PARTITION BY stock_code ORDER BY trade_date) - 1,4) AS return_rateFROM stock_data
)

技术要点


http://www.ppmy.cn/devtools/163327.html

相关文章

【数据结构】二叉树(门槛极低的系统理解)

本篇文章将进行图文讲述该种数据结构!看完一定不会让你失望,好的文章不需要过多的浮夸,质量就是深得人心的砝码!下面我总结了最形象的趣味理解方法,一遍看完终身不忘!制作不易,能否一键三连呢&a…

ODE卷-可以处理的最大任务数(200分)

专栏订阅🔗 -> 赠送OJ在线评测 HWOD-E卷(101-120)-(200分)107.可以处理的最大任务数 可以处理的最大任务数 问题描述 LYA 是一家公司的项目经理,她需要安排公司的多个项目任务。每个任务都有一个开始时间和结束时间。LYA 希望在给定的时间范围内安排尽可能多的任务。 …

AWS跨账号服务全解析:安全共享资源的最佳实践

在复杂的云环境中,企业常常需要将不同业务部门、项目或环境分配到独立的AWS账户中,以实现资源隔离和权限管控。然而,跨账户的资源共享与协作需求也随之而来。AWS为此提供了丰富的跨账号服务,允许不同账户之间安全、高效地共享资源。本文将深入解析这些服务,并结合实际场景…

springBoot统一响应类型3.1版本

前言: 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往…

STM32微控制器为何不适合运行Linux系统的分析

STM32微控制器不适合运行Linux系统的原因可以从多个角度进行分析。首先,STM32属于ARM Cortex-M系列的微控制器,这类微控制器主要设计用于实时操作、低功耗应用、以及成本敏感型应用场景。相比之下,Linux系统需要较高的计算能力和资源&#xf…

MFC案例:利用双缓冲技术绘制顶点可移动三角形

案例目标:在屏幕上出现一个三角形,同时显示各顶点坐标,当用鼠标选择某顶点并拖动时,三角形随鼠标移动而变形。具体步骤为: 一、在VS2022上建立一个基于对话框的MFC应用,项目名称:DrawMovableTr…

C++大整数类的设计与实现

1. 简介 我们知道现代的计算机大多数都是64位的,因此能处理最大整数为 2 64 − 1 2^{64}-1 264−1。那如果是超过了这个数怎么办呢,那就需要我们自己手动模拟数的加减乘除了。 2. 思路 我们可以用一个数组来存储大数,数组中的每一个位置表…

流式抽样唯一元素方案设计

在高流量、源源不断的请求接口中,一个用户可能会发送多个请求,因此如何在这种情况下抽样并记录不重复用户的信息是一个重要的设计问题。本设计考虑多种方案,旨在通过有效的抽样策略来减少存储负担,同时确保数据的代表性。 确定性…