Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie eine Liste gemeinsamer Freunde

Angenommen, es ist nicht möglich, dass Benutzer 1 zweimal mit Benutzer 7 befreundet ist (das heißt, es kann keine Zeile mit user_a = 1, user_b=7 geben und eine weitere Zeile 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