Jam*_*s B 3 mysql sql database relational self-join
我有一点搜索,但没有发现任何类似于我想要实现的东西.
基本上,我试图找出两个用户的投票习惯之间的相似性.
我有一个表格存储每个人的投票,其中存储:
voteID
itemID (the item the vote is attached to)
userID (the user who voted)
direction (whether the user voted the post up, or down)
Run Code Online (Sandbox Code Playgroud)
我的目标是通过找出两件事来计算用户A和B之间的相似性:
(然后简单地将#2计算为#1的百分比,以实现粗略的相似性评级).
我的问题是,如何找到两个用户的投票组合之间的交集?(即如何充分计算点#1,而不是以非常低效的方式循环每一次投票.)如果他们在不同的表中,内部联接就足够了,我想......但这显然不起作用在同一张桌子上(或者它会吗?).
任何想法将不胜感激.
像这样的东西:
SELECT COUNT(*)
FROM votes v1
INNER JOIN votes v2 ON (v1.item_id = v2.item_id)
WHERE v1.userID = 'userA'
AND v2.userUD = 'userB'
Run Code Online (Sandbox Code Playgroud)