@@ -871,14 +871,22 @@ class MemberRepository {
871871 timestamp >= :periodStart and
872872 timestamp < :periodEnd
873873 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")
882890 select m.id,
883891 m."displayName",
884892 i.username,
@@ -1161,15 +1169,10 @@ with member_tags as (select mt."memberId",
11611169 and m."deletedAt" is null
11621170 and o."tenantId" = :tenantId
11631171 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")
11691173select count(m.id) as "totalCount"
11701174from members m
11711175 inner join "memberActivityAggregatesMVs" aggs on aggs.id = m.id
1172- inner join identities i on m.id = i."memberId"
11731176 left join member_tags mt on m.id = mt."memberId"
11741177 left join member_organizations mo on m.id = mo."memberId"
11751178where m."deletedAt" is null
0 commit comments