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

news/2025/2/24 13:32:43

腾讯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_rate
  FROM stock_data
)

技术要点


http://www.niftyadmin.cn/n/5864388.html

相关文章

golang设计模式-函数选项模式

函数选项模式 什么是函数选项模式 在 Go 语言中,函数选项模式是一种优雅的设计模式,用于处理函数的可选参数。它提供了一种灵活的方式,允许用户在函数调用时传递一组可选参数,而不是依赖于固定数量和顺序的参数列表。 哪些地方…

冒泡排序(详解)c++

冒泡排序(Bubble Sort)也是⼀种简单的排序算法。它的⼯作原理是每次检查相邻两个元素,如果前⾯ 的元素与后⾯的元素满⾜给定的排序条件,就将相邻两个元素交换。当没有相邻的元素需要交换时, 排序就完成了。 由于在算法的执⾏过程中&#xff0…

H5 火柴人科目三和GitHub获取仓库点星星的用户列表发生了艺术的碰撞

先看效果,代码写的比较乱,有待优化 效果 https://linyisonger.github.io/H5.Examples/?name./089.%E7%9C%8B%E6%98%9F%E6%98%9F%E7%9A%84%E8%88%9E%E8%80%85.html 思路 看起来很简单,实则也不是很难,就是需要思路要打开。 一…

QT 基础知识点

1.基础窗口类QMainWindow qDialog Qwidget 随项目一起创建的窗口基类有三个可选QMainWindow qDialog Qwidget 1.1 Qwidget 是所有窗口的基类,只要是他的子类,或子类的子类,都具有他的属性。 右键项目 Add New -> Qt qt设计师界面类&am…

2025年SCI一区智能优化算法:混沌进化优化算法(Chaotic Evolution Optimization, CEO),提供MATLAB代码

一、混沌进化优化算法 https://github.com/ITyuanshou/MATLABCode 1. 算法简介 混沌进化优化算法(Chaotic Evolution Optimization, CEO)是2025年提出的一种受混沌动力学启发的新型元启发式算法。该算法的主要灵感来源于二维离散忆阻映射的混沌进化过…

DINOv2 + yolov8 + opencv 检测卡车的可拉拽雨覆是否完全覆盖

最近是接了一个需求咨询图像处理类的,甲方要在卡车过磅的地方装一个摄像头用检测卡车的车斗雨覆是否完全, 让我大致理了下需求并对技术核心做下预研究 开发一套图像处理软件,能够实时监控经过的卡车并判断其车斗的雨覆状态。 系统需具备以下…

蓝桥杯 Java B 组之背包问题(01背包、完全背包)

Day 1:背包问题(01背包、完全背包) 📖 一、背包问题简介 背包问题是动态规划(DP)中一个经典的优化问题,涉及物品选择和容量约束。通常分为以下几类: 01 背包(0/1 Knaps…

49 set与map的模拟实现

目录 一、源码及框架分析 二、模拟实现map和set (一)复用红黑树的框架,并支持insert (二)支持迭代器的实现 (三)map支持 [ ] (四)整体代码实现 一、源码及框架分析…