gpt4 book ai didi

MySQL查询匹配多个字段

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

我有一个数据库,其中有一个表,该表具有人们不同的喜欢。每个点赞都存储为不同的记录。我在每条记录中唯一的信息是 userID、likeID。

搜索将基于当前登录的用户 ID。因此,我不会将 EVERYONE 与 EVERYONE 进行匹配,而是将 EVERYONE 与 1 进行匹配

因此,userID 45 在表中可能有 likeID 3、likeID 6 和 likeID 22(例如)

我想要做的是让表返回,根据他们与其他人匹配的总赞数,按降序排列他们匹配的用户 ID。

例如,(基于上面的用户 45 示例)它将查看 userID 1 并查看他们拥有多少个 likeID 3、likeID 6 和 likeID 22。然后它会转到 userID 2 并查看他们有多少 likeID 3、likeID 6 和 likeID 22...它会为每个人执行此操作。

然后它会显示与这 3 个 likeID 匹配的任何内容的结果:

匹配:

您和用户 ID 12 有 3 个相同的点赞。

您和用户 ID 87 有 3 个相同的点赞。

您和用户 ID 22 有 2 个相同的点赞。

您和用户 ID 73 分享了 2 个 smae 点赞。

您和用户 ID 71 有 1 个相同的点赞。

等等...

我希望这能解释我正在尝试做的事情。我不认为 mySQL 查询会太难,但现在我对如何做到这一点感到困惑!

提前致谢!

最佳答案

select
UL2.userID,
count(*) as LikeMatches
from
UserLikes UL1
JOIN UserLikes UL2
on UL1.LikeID = UL2.LikeID
AND UL1.UserID != SingleUserBasisParameter
where
UL1.UserID = SingleUserBasisParameter
group by
UL2.UserID
order by
2 desc

order by 中的“2”是表示 COUNT(*) 的序数列

关于MySQL查询匹配多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8278893/

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