如何合并由另一列分组的列中的值?
e.g。如何按列1值合并第2列值?请转到以下内容:
Column 1|Column 2
-----------------
A |Bob
A |
B |Mary
C |
C |Kevin
C |
D |
D |
进入这个:
Column 1|Column 2
-----------------
A |Bob
B |Mary
C |Kevin
D |
谢谢!
答案 0 :(得分:1)
使用聚合。这是一种方式:
select col1, max(col2)
from t
group by col1;
答案 1 :(得分:1)
select
col1,
unnest(
coalesce(
(array_agg(distinct col2) filter (where col2 is not null)),
'{null}'
)
)
from t
group by col1;
更复杂,但也适用于
等数据Column 1|Column 2
-----------------
A |Bob
A |Marley
B |Mary
C |
C |Kevin
C |Costner
D |
D |