Uau @michebs – obrigado pela sua ajuda!
Começamos a juntar uma consulta semelhante até o final do dia (descobrir a tabela post_custom_fields nos deixou de queixo caído), mas a sua é muito mais limpa no final.
Notamos que faltavam algumas entradas quando os tópicos haviam sido diretamente reatribuídos em vez de desatribuídos e depois atribuídos, então alterei um pouco a condição WHERE para levar isso em consideração. Assim, finalmente chegamos a:
SELECT
pcf.value AS group,
p.topic_id,
p.user_id AS "assigned_by_user_id",
pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE (action_code = 'assigned_group' OR action_code = 'reassigned_group')
AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC
Obrigado novamente pela sua ajuda. ![]()