【发布时间】:2011-12-22 07:25:51
【问题描述】:
使用 PostgreSQL 9.0。
假设我有一个包含以下字段的表:company、profession 和 year。我想返回一个包含独特公司和专业的结果,但根据数字序列聚合(放入数组中)年份:
示例表:
+-----------------------------+
| company | profession | year |
+---------+------------+------+
| Google | Programmer | 2000 |
| Google | Sales | 2000 |
| Google | Sales | 2001 |
| Google | Sales | 2002 |
| Google | Sales | 2004 |
| Mozilla | Sales | 2002 |
+-----------------------------+
我对输出类似于以下行的查询感兴趣:
+-----------------------------------------+
| company | profession | year |
+---------+------------+------------------+
| Google | Programmer | [2000] |
| Google | Sales | [2000,2001,2002] |
| Google | Sales | [2004] |
| Mozilla | Sales | [2002] |
+-----------------------------------------+
基本特征是只能将连续年份组合在一起。
【问题讨论】:
标签: sql postgresql plpgsql window-functions gaps-and-islands