Sql 每个组的聚合返回重复项
我有以下场景:一个用户属于多个组。这些小组按层次组织: 我希望聚合用户所属组的所有人员信息。第一个人属于第七组。第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信息表的唯一行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字段上
我该怎么做?谢谢我用这个问题解决了它: 从person中选择person.id、array\u agginfo 左键连接人员信息 中的person\u information.id 选择DISTINCTUNNESTpath 来自person_组 其中数组[person.group_id]&&path 按person.id分组;
您有更好的方法吗?可能重复的请执行。这里也有人问:这样我只能得到Person Information表中唯一的行-您显示的行是唯一的吗?@SebastianBrosch正确!谢谢