我有一个包含以下列的MySQL数据库:{userID,interestID}。我很难绕着我传入的用户ID检索前20名具有共同兴趣ID的用户。我还想检索每个共同兴趣用户的共同兴趣的计数。响应。
有什么想法吗?万分感谢!
答案 0 :(得分:0)
您可以这样做:
select t.userid, count(*) as interests_in_common
from t join
t tx
on t.interestid = tx.interestid and tx.userid = $x
group by t.userid
order by count(*) desc
limit 20;