sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener una lista de amigos mutuos

Suponiendo que no es posible que el Usuario 1 sea amigo del Usuario 7 dos veces (lo que significa que no puede haber una fila con user_a = 1, user_b=7 y otra fila 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