gpt4 book ai didi

mysql - 计算多个连接

转载 作者:行者123 更新时间:2023-11-29 14:08:52 24 4
gpt4 key购买 nike

我需要获取在比赛中实时签到 (checkins.ctype='live') 的用户 ID 的独特列表他的三 (3) 名或更多 friend 也居住在其中

这是数据库设计:

enter image description here

我成功检索了超过 3 位实时签到用户的匹配列表,但我需要查明他们是否是我的 friend 。

到目前为止我的代码:

SELECT DISTINCT    f1.idFROM     fanusers f1JOIN    checkins cON c.fanuser_id = f1.idWHEREc.ctype = 'live'ANDc.match_id IN (                                SELECT                                    c1.match_id                                FROM                                    checkins c1                                WHERE                                    c1.ctype = 'live'                                GROUP BY                                    c1.match_id                                HAVING                                    COUNT(*)> 3                            )...and he has 3 ore more than 3 friends lived checked-in in the same match (c.match_id)

有什么想法吗?谢谢

最佳答案

加入对fanuser_id上的fanuser_friends的签到,然后进一步加入对friend_id的签到,通过fanuser_id和match_id分组找到相关好友的数量,然后将结果限制在好友的数量上怎么样?

SELECT DISTINCT c.fanuser_id
FROM checkins c
INNER JOIN fanuser_friends f on
f.fanuser_id = c.fanuser_id
INNER JOIN checkins c2
on c2.fanuser_id = f.friend_id
AND c2.match_id = c.match_id
WHERE c.ctype = 'live'
AND c2.ctype = 'live'
GROUP BY c.fanuser_id, c.match_id
HAVING COUNT(*) >= 3;

关于mysql - 计算多个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13861229/

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