Postgresql 使用group_by和self join进行Sqlalchemy查询时出现问题

Postgresql 使用group_by和self join进行Sqlalchemy查询时出现问题,postgresql,join,group-by,sqlalchemy,Postgresql,Join,Group By,Sqlalchemy,我有下面这样的桌子 值 id |名称|值 1 |“a”|“ashok” 1 |“b”|“kumar” 1 |“bc”|“基兰” 2 |“fg”|“karan” 2 |“mkk”|“manohar” 我试图按“id”对这个表进行分组,并将行的对象聚合到数组中, 像这样的, 1 - [{object of row 1},{object of row 2 },{object of row 3}] 2 - [{object of row 4},{object of row 5}] 我试着这么做 v_

我有下面这样的桌子

id |名称|值

1 |“a”|“ashok”

1 |“b”|“kumar”

1 |“bc”|“基兰”

2 |“fg”|“karan”

2 |“mkk”|“manohar”

我试图按“id”对这个表进行分组,并将行的对象聚合到数组中, 像这样的,

1 - [{object of row 1},{object of row 2 },{object of row 3}]

2 - [{object of row 4},{object of row 5}]
我试着这么做

v_alias = aliased(Values, name='v_alias')
        query = d.session.query(Values.id, func.array_agg(v_alias, type_=ARRAY(v_alias))).join(v_alias, Values.id == v_alias.id).filter((Values.name=="2") & (Values.value=="Mosley")).intersect(db.session.query(Values.id, func.array_agg(v_alias, type_=ARRAY(v_alias))).join(v_alias, Values.id == valias.id).filter((Values.name=="1") & (cast(Values.value, db.String())=='"Oliver"'))).group_by(Values.id).all()
但结果是,

sqlalchemy.exc.ArgumentError: Object <AliasedClass at 0x17b87f0; Values> is not legal as a SQL literal value
sqlalchemy.exc.ArgumentError:对象作为SQL文本值是不合法的
我做错了什么? 或者正确的sql查询是什么