Você não pode fazer isso facilmente em
MySQL
. O problema é que a relação "é semelhante a" como você define não é transitiva. No seu exemplo,
Smith Inc
é semelhante a John Smith
(por SSN
) e John Smith
é semelhante a Jane Smith
(por nome), mas Smith Inc
não é semelhante a Jane Smith
. Portanto, não há um valor único com o qual todos os registros possam ser comparados e GROUP BY
não vai ajudar aqui. Em outros sistemas que suportam recursão você poderia construir um fechamento transitivo desta relação que permitiria o agrupamento, mas isso não é uma tarefa fácil em
MySQL
.