Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 每个组的聚合返回重复项_Sql_Postgresql_Grouping - Fatal编程技术网

Sql 每个组的聚合返回重复项

Sql 每个组的聚合返回重复项,sql,postgresql,grouping,Sql,Postgresql,Grouping,我有以下场景:一个用户属于多个组。这些小组按层次组织: 我希望聚合用户所属组的所有人员信息。第一个人属于第七组。第7组与以下第1、5、7、8组有连接 我编写了以下查询: 选择person.id、array\u agginfo 从person LEFT加入person_组 在数组[person.id]&&path上 左键连接人员信息 数组[person_information.id]&路径 按person.id分组; 此查询的问题是我获得了重复的信息: 我不想在array\u agginfo字段上

我有以下场景:一个用户属于多个组。这些小组按层次组织:

我希望聚合用户所属组的所有人员信息。第一个人属于第七组。第7组与以下第1、5、7、8组有连接

我编写了以下查询:

选择person.id、array\u agginfo 从person LEFT加入person_组 在数组[person.id]&&path上 左键连接人员信息 数组[person_information.id]&路径 按person.id分组; 此查询的问题是我获得了重复的信息:

我不想在array\u agginfo字段上使用UNIQUE。更确切地说,我希望编写我的联接,以便只获得Person信息表的唯一行


我该怎么做?谢谢

我用这个问题解决了它:

从person中选择person.id、array\u agginfo 左键连接人员信息 中的person\u information.id 选择DISTINCTUNNESTpath 来自person_组 其中数组[person.group_id]&&path 按person.id分组;
您有更好的方法吗?

可能重复的请执行。这里也有人问:这样我只能得到Person Information表中唯一的行-您显示的行是唯一的吗?@SebastianBrosch正确!谢谢