Postgresql window function 第一篇
window function,简单来说就是窗口函数。postgresql 在8.4版本开始有了窗口函数的特性。
看多很多中文解释,找不到合适的解释什么是窗口函数,有句英文很好的诠释了什么是窗口函数。 “The whole idea behind window functions is to allow you to process several values of the result set at a time: you see through the window some peer rows and are able to compute a single output value from them,much like when using an aggregate function. ”先来介绍一下postgresql里面关于窗口函数的语法吧。
function name over ( partition by column order by column [ RANGE | ROWS ] BETWEEN frame_start AND frame_end);
这是简化的版本,官网上对于语句写的更详细,有兴趣的可以自己去看看。对于第一次看见的人来说,这么长的语法可能一下子无法接受,那我们就慢慢一步一步来的说。
首先创建下面这张表
点击(此处)折叠或打开
- createtableempsalary
- (
- depnamevarchar(20),
- empno
- salaryinteger
- )
@H_301_81@
点击(此处)折叠或打开
postgres=#select*fromempsalary;
depname|empno|salary
----------+-------+--------
develop|11|5200
develop|7|4200
develop|9|4500
personel|5|3500
personel|6|6500
personel|12|15|8900
(7 行记录)