Mysql
 sql >> Database >  >> RDS >> Mysql

Come ottenere una lista di amici comuni

Supponendo che non sia possibile per l'Utente 1 essere amico dell'Utente 7 due volte, (il che significa che non può esserci una riga con user_a = 1, user_b=7 e un'altra riga user_a = 7, user_b = 1 ).

SELECT IF(user_a = 1 OR user_a = 2, user_b, user_a) friend
FROM friendship
WHERE (user_a = 1 OR user_a = 2) OR (user_b = 1 OR user_b = 2)
GROUP BY 1
HAVING COUNT(*) > 1