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

使用的pg数据库,创建表test如下:
搞清楚分析函数over()使用
我们从简单到复杂挨个看下运行不同sql的结果:
1、SELECT sum(price) FROM test
最简单的,这是返回表中所有行price的和。搞清楚分析函数over()使用

2、SELECT number,price,sum(price) over() FROM test
搞清楚分析函数over()使用
看下加上over()后,结果的不同。

3、SELECT number,price,sum(price) over(order by number) FROM test
搞清楚分析函数over()使用
加上order by之后,分析结果变化,这个大家分析结果理解。

4、SELECT number,price,sum(price) over(partition by number order by number) FROM test
搞清楚分析函数over()使用
加上partition by之后,我们再来看这个结果,就是按照number分组后,计算每组的price的和,然后按照price进行排序。

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