gpt4 book ai didi

postgresql - 如何将唯一行值合并到多个列中的单个列中?

转载 作者:行者123 更新时间:2023-11-29 13:02:57 26 4
gpt4 key购买 nike

我正在对多行执行一系列聚合。我按公共(public)列分组,但我有一些次要字段,我想将所有唯一值合并到一个列中。

下面的例子没有聚合计算来简化问题。

例如:

Table A
table_a_id integer,
column_1 integer,
column_2 text,
column_3 integer

SELECT table_a_id, column1, column_2, column_3
FROM table_a;

产量

101  |  1  | 'sample value 1'  | 20
101 | 2 | 'sample value 2' | 25
101 | 3 | 'sample value 3' | 27

我要:

101  | 1, 2, 3  | 'sample value 1, sample value 2, sample value 3'  | 20, 25, 27

我如何在 PostgreSQL 中执行此操作?

最佳答案

select
  table_a_id,
  array_to_string(array_agg(distinct column_1), ',') AS the_ones,
  array_to_string(array_agg(distinct column_2), ',') AS the_twos,
  array_to_string(array_agg(distinct column_3), ',') AS the_threes
from table_a
group by table_a_id
;

关于postgresql - 如何将唯一行值合并到多个列中的单个列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23738357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com