Имеется табличка:
id | createdDate | user | kind | team
----+-------------+------+------+--------
2 | 2020-12-12 | y | A | red
3 | 2020-12-12 | z | A | blue
4 | 2020-12-12 | y | A | green
1 | 2020-09-11 | x | A | red
5 | 2020-12-13 | q | B | orange
6 | 2020-12-22 | t | A | green
При выполнении группировки в список попадают значения поля user:
session.query(A.team, func.array_agg(A.user, type_=ARRAY(String)),
func.count(A.user)).group_by(A.team).filter(A.kind == 'A')
('blue', ['z'], 1)
('green', ['y', 't'], 2)
('red', ['y', 'x'], 2)
('blue', [('2020-12-12', 'z', 'A', 'blue', '2020-10-10')], 1)
('green', [('2020-12-12', 'y', 'A', 'green', '2020-11-10'), ('2020-12-22', 't', 'A', 'green', '2020-11-10')], 2)
('red', [('2020-12-12', 'y', 'A', 'red', '2020-10-10'), ('2020-09-11', 'x', 'A', 'red', '2020-10-10')], 2)
P.S. вроде можно заджойница, но не могу синтаксически построить конструкцию никак
session.query(A.team, func.array_agg(A.id, type_=ARRAY(Integer)),
func.count(A.id)).group_by(A.team).filter(A.kind == 'A') ... .join(A ...)