三亩地.
  • 首页
  • 学习日记
  • 项目实战
  • 学习方法
  • 代码技巧
  • 避坑指南
  • 调试经验
  • 实战教程
  • 编程思维
  • 资讯中心
  • 关于我们

资讯详情

深入了解每一个知识点

  • 首页
  • /
  • 资讯中心
  • /
  • 文章详情

窗口函数

📅 2026/7/14 21:42:16 👁️ 阅读次数 📝 编程学习
窗口函数

窗口函数

1.窗口函数
窗口 = 计算范围
窗口函数 = 不合并数据、只在「划定的一片数据区域(窗口)」里做计算
普通聚合函数会合并行,窗口函数保留所有原始行,额外多出一列计算结果。

窗口函数固定格式
sql
函数名() OVER(
PARTITION BY 分组字段 -- 切分窗口(可选)
ORDER BY 排序字段 -- 窗口内排序(排名类必写)
)
OVER() 就是开窗标志,有它就是窗口函数。

两类最常用窗口函数
1)排名类
ROW_NUMBER():连续序号 1,2,3
RANK():跳跃排名 1,1,3
DENSE_RANK():密集排名 1,1,2
2)聚合窗口函数(超级好用)
普通 SUM/AVG/MAX 放进 OVER() 秒变窗口函数
sql
-- 每个人旁边显示自己班级总分
SELECT *,SUM(score)OVER(PARTITION BY class) 班级总分 FROM score

2.MySQL 8.0+ 全部窗口函数

分类 函数名 作用 直观数据示例
排名类 ROW_NUMBER() 生成连续唯一行号 同分也依次排序:1,2,3,4
RANK() 跳跃式排名 同分同名次,跳过空位:1,1,3,4
DENSE_RANK() 密集式排名 同分同名次,名次连续:1,1,2,2
PERCENT_RANK() 计算百分比排名 结果 0~1:0,0,0.67,1
CUME_DIST() 累计分布占比 小于等于当前值占比:0.25,0.5,0.75,1
偏移取值 LAG (字段,偏移量) 获取上一行字段值 取当前行往上第 1/2 行数据
LEAD (字段,偏移量) 获取下一行字段值 取当前行往下第 1/2 行数据
指定取值 FIRST_VALUE (字段) 取窗口内第一行数据 分组内所有行统一显示第一条值
LAST_VALUE (字段) 取窗口内最后一行数据 随排序范围动态取末尾值
NTH_VALUE (字段,N) 取窗口内第 N 行数据 固定取第 2 行、第 3 行指定数值
数据分片 NTILE(n) 把数据平均分成 n 组 分 3 组:1,1,2,2,3,3
聚合窗口 SUM() 窗口内求和 逐行累计求和
AVG() 窗口内求平均值 分组内逐行计算平均
MAX() 窗口内取最大值 组内统一显示最高值
MIN() 窗口内取最小值 组内统一显示最低值
COUNT() 窗口内统计行数 统计分组内总条数
VAR_SAMP() 样本方差 数据分析统计用
VAR_POP() 总体方差 数据分析统计用
STDDEV_SAMP() 样本标准差 数据分析统计用
STDDEV_POP() 总体标准差 数据分析统计用
编程学习 技术分享 实战经验

相关新闻

四川华蔓广告有限公司设计安装施工|LED显示屏、南充地区一站式制作 - 四川华蔓广告有限公司

2026/7/12 8:33:00

2026年4月评价高的防水卷材直销厂家口碑推荐,高分子防水卷材/防水涂料/自粘防水卷材,防水卷材企业找哪家 - 品牌推荐师

2026/7/14 6:32:49

全屋定制家具企业如何做线上推广?2026年AI搜索、短视频与GEO优化指南 - 精选优质企业推荐官

2026/7/13 12:29:43

最新新闻

破解基坑支护行业痛点:基坑支护钢管桩三化协同方法论如何实现降本提效? - 资讯速览

2026/7/14 21:41:17

STM32F103串口控制A7680C实现4G语音呼叫与应答

2026/7/14 21:41:17

Matlab拉普拉斯金字塔图像融合工具包:含分解/重构/加权融合全套函数与实操文档

2026/7/14 21:41:17

天梭中国官方售后服务中心|服务电话及完整官方地址权威信息公告(2026年7月最新) - 天梭服务中心

2026/7/14 21:41:17

giteveryday 手册页面

2026/7/14 21:41:17

MATLAB贝叶斯分析工具包:双组/单组实验建模、MCMC诊断与后验图解

2026/7/14 21:41:17

日新闻

C++低时延消息队列设计:从共享内存、无锁队列到性能调优实战

2026/7/14 0:01:12

Eval如何决定Agent能力上限

2026/7/14 0:01:27

AWS SSM安全运维实践:零公网暴露的合规远程开发方案

2026/7/14 0:01:38

周新闻

npm 与 cnpm 镜像源对比:4 种配置方案实测与安全性分析

2026/7/14 12:15:10

Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动

2026/7/14 12:15:11

IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结

2026/7/14 9:50:20

月新闻

[C++]内存管理:串顺序存储的内存回收

2026/7/14 12:15:11

足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建

2026/7/14 12:15:11

抖音内容监控助手:告别手动刷新,让优质内容主动找你

2026/7/14 12:15:11

分类目录

  • 学习日记
  • 项目实战
  • 学习方法
  • 代码技巧
  • 避坑指南
  • 调试经验

热门标签

JavaScript Python Java 前端开发 后端开发 算法 数据结构 项目实战

关于三亩地

三亩地是一个专注于编程学习的平台,以真实学习日记为载体,分享编程学习经验、项目实操技巧和高效学习方法。

快速链接

学习日记

项目实战

学习方法

资讯中心

联系方式

邮箱:contact@mfbz.cn

微信:sanmudi_code

QQ 群:123456789

© 2026 三亩地 编程学习日记 版权所有 | mfbz.cn