У меня есть таблица, подобная следующей:
| 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} |