gpt4 book ai didi

mysql查询帮助在社交网站上找到共同的 friend

转载 作者:行者123 更新时间:2023-12-01 00:14:36 25 4
gpt4 key购买 nike

我有一个名为 users 的数据库表,每个用户的主键为 user_id。

我还有一个名为 friends 的表,其中包含两个字段,user_id 和 friend_user_id。

user_id 字段始终是两个 user_id 中最小的,以避免重复条目。

假设我有两个用户(假设用户 ID 1 和用户 ID 4,尽管它们可以是任何用户)。

对于与用户 1 和用户 4 为好友(即共同好友)的用户,我如何返回用户表中的所有行?

最佳答案

我给你食谱:

  1. 找到用户1的所有好友
  2. 找到用户2的所有好友
  3. 将它们相交,结果将是共同的 friend 。

很像这样:

enter image description here

更新:查询如下:

select f.friend_user_id  from friends f where f.friend_user_id in (
select friend_user_id from friends where user_id=<id_of_user_a>)
and f.user_id=<id_of_user_b>

上述查询返回的ids将是user_a和user_b的共同好友的所有用户的id。如果您想获取有关这些用户的所有详细信息(姓名等),请执行以下操作:

   select f.friend_user_id,u.*  from friends f inner join users u 
on u.user_id=f.friend_user_id
where f.friend_user_id in (
select friend_user_id from friends where user_id=<id_of_user_a>)
and f.user_id=<id_of_user_b>

关于mysql查询帮助在社交网站上找到共同的 friend ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7362519/

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