@@ -871,14 +871,22 @@ class MemberRepository {
871
871
timestamp >= :periodStart and
872
872
timestamp < :periodEnd
873
873
group by "memberId"),
874
- identities as (select "memberId",
875
- array_agg(distinct platform) as identities,
876
- jsonb_object_agg(platform, usernames) as username
877
- from (select "memberId",
878
- platform,
879
- jsonb_agg(username) over (partition by "memberId", platform) as usernames
880
- from "memberIdentities") ranked
881
- group by "memberId")
874
+ identities as (select mi."memberId",
875
+ array_agg(distinct mi.platform) as identities,
876
+ jsonb_object_agg(mi.platform, mi.usernames) as username
877
+ from (select "memberId",
878
+ platform,
879
+ array_agg(username) as usernames
880
+ from (select "memberId",
881
+ platform,
882
+ username,
883
+ "createdAt",
884
+ row_number() over (partition by "memberId", platform order by "createdAt" desc) =
885
+ 1 as is_latest
886
+ from "memberIdentities" where "tenantId" = :tenantId) sub
887
+ where is_latest
888
+ group by "memberId", platform) mi
889
+ group by mi."memberId")
882
890
select m.id,
883
891
m."displayName",
884
892
i.username,
@@ -1161,15 +1169,10 @@ with member_tags as (select mt."memberId",
1161
1169
and m."deletedAt" is null
1162
1170
and o."tenantId" = :tenantId
1163
1171
and o."deletedAt" is null
1164
- group by mo."memberId"),
1165
- identities as (select "memberId",
1166
- jsonb_object_agg(platform, username) as username
1167
- from "memberIdentities"
1168
- group by "memberId")
1172
+ group by mo."memberId")
1169
1173
select count(m.id) as "totalCount"
1170
1174
from members m
1171
1175
inner join "memberActivityAggregatesMVs" aggs on aggs.id = m.id
1172
- inner join identities i on m.id = i."memberId"
1173
1176
left join member_tags mt on m.id = mt."memberId"
1174
1177
left join member_organizations mo on m.id = mo."memberId"
1175
1178
where m."deletedAt" is null
0 commit comments