gpt4 book ai didi

mysql - 我的 SQL 查询获取共同/ friend 关注者

转载 作者:行者123 更新时间:2023-11-29 15:45:34 24 4
gpt4 key购买 nike

我有一张如下所示的表格:

id | Follower_id | leader_id | status
----------------------------------------
1 | 2 | 1 | approved
2 | 1 | 2 | approved
3 | 3 | 2 | approved
4 | 1 | 3 | approved

从这个表中,我想检索相互的 Follower_id/leader_id 。

对于示例 2 和 1,在此表中是相互的。为了实现这一点,我使用以下 sql

SELECT r.follower_id RF
, r.leader_id RL
, l.follower_id LF
, l.leader_id LL
FROM followers r
JOIN followers l
ON l.follower_id = r.leader_id
AND l.leader_id = r.follower_id
WHERE r.status = 'approved'
AND l.status = 'approved';

它返回预期的输出,但速度非常慢。

如何优化此 SQL?

最佳答案

也许更简单的东西可能会运行得更快,例如

SELECT follower_id, leader_id 
FROM followers a
WHERE follower_id IN (
SELECT follower_id
FROM followers b
WHERE a.leader_id = b.leader_id
AND status = 'approved'
)
AND status = 'approved';

关于mysql - 我的 SQL 查询获取共同/ friend 关注者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57090557/

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