如何解决id相同时如何将postgresql分组为新的添加值
我有这样的桌子:
当 user_input_id
和 question_id
重复时,我想将有价值的项目放在一行中。
我希望的结果是:
谁能告诉我怎么查询?
谢谢
解决方法
您可以在 postgresql 中使用 string_agg(value,',') 轻松完成。
select user_input_id,question_id,string_agg(value,') as other_names
from table_name
group by user_input_id,question_id
order by user_input_id,question_id
输出:
你也可以在 postgres 中使用 array_aggr():
select user_input_id,array_agg(value::text ) as other_names
from table_name
group by user_input_id,question_id
输出:
,只需用这个表的数据填充一个临时表并截断它。然后像这样使用聚合函数:
CREATE TEMP TABLE temp_tbl(
columns ...
);
insert into temp_tbl
select * from main_tbl
truncate table main_tbl
insert into main_tbl
select user_input_id,')
from temp_tbl
group by user_input_id,question_id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。