sql进阶窗口函数+花式分组rollup

本文介绍了SQL中的窗口函数,包括概念、使用方法及常见的窗口函数类型,如求和、最大值和最小值等。同时,探讨了窗口函数的框架设定,如PRECEDING和FOLLOWING。此外,文章还讲解了分组技巧,如GROUP BY、ROLLUP和CUBE的使用,以实现灵活的多层次聚合查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql

窗口函数概念和使用

窗口函数也称为OLAP函数。

<窗口函数> OVER(PARTITION BY col_name ORDER BY col_name)

其语法规则如上,partition by用来在窗口分组,效果类似group by,而order by则进行窗口的排序。

在这里插入图片描述

窗口函数种类

比较常见的窗口函数,如求和,最大值,最小值等聚合函数,排序使用的rank等排序函数。
前者已经算是老生常谈,在分组的前提下可以求出特定粒度的数据,后者则氛围三种:rank的排序支持同一序列号,但会默认占位;dense_rank同样支持同一序号,却默认不占位;row_number不支持同一序号,默认连续排位。
在窗口函数使用的时候,我们还可以计算的累计到当前行的所有数据的集合,而汇总的范围则称为框架。
在这里插入图片描述

PRECEDING(“之前”), 将框架指定为 “截止到之前 n 行”,加上自

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卑微-程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值