J'ai vu plusieurs messages de SO sur des amis communs, mais j'ai structuré ma table d'amis dans ma base de données de sorte qu'il n'y ait pas de doublons, par exemple (1,2) et non (2,1).
Create Table Friends(
user1_id int,
user2_id int
);
et ensuite une contrainte pour s'assurer que l'id de l'utilisateur 1 est toujours plus petit que l'id de l'utilisateur 2, par exemple 4 < 5.
Mutual friends sql with join (Mysql)
Je vois des suggestions pour trouver des amis communs en utilisant une jointure, c'est donc ce que j'ai mais je pense que c'est faux car si je compte les données dans ma base de données avec le résultat réel de la requête, j'obtiens des résultats différents.
select f1.user1_id as user1, f2.user1_id as user2, count(f1.user2_id) as
mutual_count from Friends f1 JOIN Friends f2 ON
f1.user2_id = f2.user2_id AND f1.user1_id <> f2.user1_id GROUP BY
f1.user1_id, f2.user1_id order by mutual_count desc