(三)SQL窗口分析函数 #SQL #CDA学习打卡

目录

[一. 窗口分析函数](#一. 窗口分析函数)

1)前后函数

(a)lag

(b)lead

2)头尾函数

[(a)first value](#(a)first value)

[(b)last value](#(b)last value)

3)排序函数

(a)row_number

(b)rank

(c)dense_rank

(d)三者之间对比

4)分布函数

(a)cume_dist

(b)percent_rank

(c)两者之间对比

5)其它函数

(a)ntile


一. 窗口分析函数

窗口分析函数主要用来做数据统计分析,属于OLAP方式。OLAP联机分析处理和OLTP联机事务处理是两种常见的数据库处理方式,通常分析师更喜爱OLAP(分析),开发者更关注的是OLTP(事务)。

窗口分析函数可以计算一定范围内、一定值域内、或者一段时间内的累积和以及移动平均值等,可以方便的实现复杂的数据统计分析需求。

窗口分析函数包括:

前后函数:lag,lead

头尾函数:first-val,last val

排序函数:rank,dense rank,row number

分布函数:percent_rank,cume_dist

聚合函数:sum,count,min,max,avg

其它函数:ntile

1)前后函数

(a)lag

(b)lead

2)头尾函数

(a)first value

(b)last value

3)排序函数

(a)row_number

(b)rank

(c)dense_rank

(d)三者之间对比

row_number()不区分是否并列:row_number函数为每一行分配唯一的行号,而rank函数和dense_rank函数在处理具有相同排序值的行时有所不同。

**rank()会产生序号相同的记录,产生序号间隔,dense_rank()不产生序号间隔:**rank函数会跳过下一个排名,而dense_rank函数会紧随其后。选择使用哪个函数取决于具体的需求和对重复值的处理方式。

4)分布函数

用于计算当前行在排序结果中的累积分布比例。

(a)cume_dist

(b)percent_rank

(c)两者之间对比

5)其它函数

(a)ntile

Bye!

相关推荐
稷下元歌10 分钟前
七天学会plc 加机器视觉完整笔记:S7-1200 数据类型、存储区与寻址方式(I/Q/M/DB 详解)。
网络·数据库·笔记
提子拌饭13313 分钟前
Column 嵌套布局:多级 Column 实现复杂纵向结构——鸿蒙 HarmonyOS ArkTS 原生学习应用
学习·华为·harmonyos·鸿蒙·鸿蒙系统
潮起鲸落入海18 分钟前
mysql 5.x源码安装
数据库·mysql
睡不醒男孩0308231 小时前
第一篇:多云与多模态时代的企业级数据库云管理平台(DBaaS)选型指南
数据库·clup·中启乘数
小二·1 小时前
向量数据库实战
数据库
xqqxqxxq1 小时前
树结构技术学习笔记
数据结构·笔记·学习
炘爚1 小时前
Phase 5:MySQL 连接池
数据库·mysql
j_xxx404_2 小时前
MySQL库操作硬核解析:字符集、校验规则、大小写比较、备份恢复与连接排查
运维·服务器·数据库·人工智能·mysql·ai·oracle
十月的皮皮2 小时前
C语言学习笔记202606008- 三角形判断(3种方法)
c语言·笔记·学习
XGeFei2 小时前
【Fastapi学习笔记(6)】—— Fastapi文件上传、请求头自动转换
笔记·学习·fastapi