【发布时间】:2014-03-11 07:49:28
【问题描述】:
我正在使用 Postgresql 8.4。我有一张这样的桌子:
type | value
------+-------
1 | 5
2 | 6
1 | 4
3 | 10
我想写一个选择,它将给我最小值和最大值,并将所有类型的聚合为integer[]。期望的结果应该是:
min | max | types
-----+-----+-----------
4 | 10 | {1, 2, 3}
为了得到最小值和最大值,我已经有了:
SELECT MIN(value) min, MAX(value) max FROM table;
为了获得独立选择中的类型,我使用:
SELECT array_agg(DISTINCT type) types FROM table;
我怎样才能将这些组合成一个选择(不是太低效)?
【问题讨论】:
-
SELECT MIN(value) min, MAX(value) max, array_agg(DISTINCT type) types FROM table;不适合你吗?
标签: sql postgresql aggregate-functions