搞清楚分析函数over()使用
使用的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的学习还是多练习,多理解