我正在努力让两个人之间有共同的朋友。 我已将这些人朋友保存在名为“朋友”的表格中,其中包含以下字段:
id | facebook_id |名字| uid |时间戳
希望有意义,尝试各种方式来结交朋友,但没有运气
答案 0 :(得分:2)
我不知道使用子查询会更快还是mySQL已经优化了它。 子查询解决方案:
SELECT f1.id, f1.name
FROM (SELECT id, name FROM friends WHERE uid=1) f1
JOIN (SELECT id, name FROM friends WHERE uid=2) f2
ON f1.id=f2.id;
答案 1 :(得分:0)
如果MySQL有一个INTERSECT
运算符,那就太好了,但是......
你可以抓住一个人的所有朋友:
SELECT id, name
FROM friends
WHERE uid = 1
然后你可以将这个列表加入到好友表中,为其他用户寻找同一个朋友:
SELECT f1.id, f1.name
FROM friends f1
JOIN friends f2 on f1.id = f2.id
WHERE f1.uid = 1
and f2.uid = 2
这是伪代码,但应该很接近。