搞清楚分析函数over()使用

本文详细解析了使用PostgreSQL数据库时,窗口函数在不同场景下的应用,包括SUM函数的基础使用、OVER()函数的作用、ORDER BY在窗口函数中的效果,以及PARTITION BY结合ORDER BY对数据分组并排序的技巧。

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

使用的pg数据库,创建表test如下:
在这里插入图片描述
我们从简单到复杂挨个看下运行不同sql的结果:
1、SELECT sum(price) FROM test
最简单的,这是返回表中所有行price的和。在这里插入图片描述

2、SELECT number,price,sum(price) over() FROM test
在这里插入图片描述
看下加上over()后,结果的不同。

3、SELECT number,price,sum(price) over(order by number) FROM test
在这里插入图片描述
加上order by之后,分析结果变化,这个大家分析结果理解。

4、SELECT number,price,sum(price) over(partition by number order by number) FROM test
在这里插入图片描述
加上partition by之后,我们再来看这个结果,就是按照number分组后,计算每组的price的和,然后按照price进行排序。

先记录这几条吧,sql的学习还是多练习,多理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值