【发布时间】:2017-12-03 17:14:52
【问题描述】:
我有一个基于社交网络的 sql 结构,包括一个表“follows”,其中一列包含关注者的用户 ID 和被关注者的用户 ID。很简单。
现在我想构建一个用户建议工具。我需要一个查询来获取我关注的人正在关注的用户。当然,它还需要对我已经关注的人进行排序,它应该计算我关注特定人的关注人数,以便我可以对建议进行排序。
SELECT
users.userid,
users.username,
COUNT(me.from_userid)
FROM follows AS he
INNER JOIN users
ON users.userid = he.to_userid
LEFT JOIN follows AS me
ON me.from_userid = 33
AND me.to_userid = he.from_userid
WHERE me.to_userid != he.to_userid
GROUP BY users.userid
我已经建立了一个查询,但不知何故,它只是给了我所有用户和一般用户关注者的数量。
我试图在一个例子中解释想要的查询,所以它更容易理解。 (userid = 1 是我)
如果有人可以帮助我,那就太好了!
【问题讨论】:
标签: mysql sql social-networking