首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当数列中的数与其他数列相关时,组合数列。波斯特格斯

当数列中的数与其他数列相关时,组合数列。波斯特格斯
EN

Database Administration用户
提问于 2021-08-16 10:49:06
回答 1查看 102关注 0票数 -2

把一个数列放在一起,在多个列中,下面是系列。我们需要解决这个问题,Postgres。每一行都有逗号分隔的值。

问题出在这里。当我有一组串连的值时,它们是分隔的逗号。我需要根据这些组中的相关数字对它们进行分组。

例如。如果我们有1,3,它会和1,2,3,4聚在一起。

1,18将与1,2,3,4,18组合在一起,因为小组中有1。排在第一位的2人将减少到1,2,3,4人。

基本上,我所要做的就是将分隔的逗号行组合在一起,如果匹配任何其他数字组的1,那么合并这些数字,如果其他数字中的任何一个是匹配的。

代码语言:javascript
复制
IDS
-------------
2 
1,3
1,2,3,4
1,18
1,4
5,6
5,6,7,8
5,7
1,3
10,11,12
10,13
13,14
10
6,22

当你组织他们的时候,

然后,查询将返回这样的值。以下是基于上述数字的合并数字列表。产出=

代码语言:javascript
复制
IDS
-------------
1,2,3,4,18
5,6,7,8,22
10,11,12,13,14

一个简单的例子。

如果你有一个清单

1,2 1,3 4,5 5,6

查询将返回

1,2,3

和4,5,6

因为1和1是相似的,5和5是相似的,所以它们合并了。

EN

回答 1

Database Administration用户

发布于 2021-08-16 14:23:47

我不确定我是否理解您的问题,但是如果您想从字符串中删除重复项,您可以尝试如下:

代码语言:javascript
复制
select array_to_string(array_agg(x), ',') as res from (
    select distinct row_number() over () as n
         , unnest(string_to_array(ids, ',')) as x 
    from t
) as tt
group by n;

小提琴

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/298093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档