【发布时间】:2019-10-09 22:33:45
【问题描述】:
我有一张如下表:
| col_A | col_B |
|-------|-------|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
| 3 | 1 |
| 3 | 2 |
我想将结果分组并连接到一个数组中,如下所示:
| col_A | col_B |
|-------|-------|
| 1,2 | 1,2,3 |
| 3 | 1,2 |
我尝试编写查询:
SELECT col_A, array_agg(col_B ORDER BY col_B DESC) FROM table GROUP BY col_A;
但是,这会输出:
| col_A | col_B |
|-------|---------|
| 1 | {1,2,3} |
| 2 | {1,2,3} |
| 3 | {1,2} |
【问题讨论】:
标签: sql arrays postgresql aggregate