sql over partition by
over partition by与group by 的区别
Over Partition by 与Group by 的区别
例如:
有三条数据
Id 1
Id 2
Id 3
group by 结果为6
over partition
SUM (Id) OVER (PARTITION BY id ) Id 结果为
id sum(1) 也就是1
id sum(1+2) 也就是3
id sum(3+3) 也就是6
MIN(id) over (partition by id desc) id 结果为
id min(3) 结果为3
id min(3,2) 结果为2
id min(3,2,1) 结果为1
MIN(id) over (partition by id asc) id 结果为
id min(1) 结果为1
id min(1,2) 结果为1
id min(1,2,3) 结果为1
Partition by主要是累计计算
group by是分组函数,partition by是分析函数(然后像sum()等是聚合函数),
执行顺序 from > where > group by > having > order by。
而partition by应用在以上关键字之后,实际上就是在执行完select之后,在所得结果集之上进行partition。
partition by相比较于group by,能够在保留全部数据的基础上,只对其中某些字段做分组排序,而group by则只保留参与分组的字段和聚合函数的结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2017-09-09 c#处理json格式类型的字符串