gpt4 book ai didi

php - 如何构造一个sql查询来获取用户之间共同好友的数量?

转载 作者:行者123 更新时间:2023-11-29 11:48:39 25 4
gpt4 key购买 nike

我正忙于创建一个查询,该查询返回用户列表中用户之间共同好友的数量。我已经尝试了一些,但它们并没有像我希望的那样工作,这是我尝试过的查询之一

query("SELECT * FROM userlist WHERE userid = '$userid' AND status ='friend' AND friendid != '$userid' ");

下面的sql表呈现了用户之间的关系。

userid | friendid | type | status |
-----------------------------------
1 |2 | buddy | friend |
-----------------------------------
1 |3 | buddy | friend |
-----------------------------------
2 |3 | buddy | friend |
-----------------------------------
3 |2 | buddy | friend |
-----------------------------------
4 |2 | buddy | friend |
-----------------------------------
3 |1 | buddy | friend |
-----------------------------------
2 |4 | buddy | friend |
------------------------------------

如何构造一个查询来查找 userid 4userid 1 之间共同好友的数量。

谢谢。

最佳答案

我认为这会有所帮助,请注意,这里我没有使用“状态”条件,您可以根据您的要求修改此查询。

SELECT count(*) FROM userlist as a 
INNER JOIN userlist as b
ON(b.friendid=a.friendid and b.userid=4 and b.friendid!=1)
WHERE a.userid=1 and b.friendid!=4

这将返回共同好友的数量。

根据您的数据,这将给出结果 1,因为用户 ID 1 和 4 只有一个共同的 friend 2。

关于php - 如何构造一个sql查询来获取用户之间共同好友的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34522842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com