【发布时间】:2009-02-04 20:15:50
【问题描述】:
我进行了一些搜索,但没有找到与我想要实现的目标完全一样的东西。
基本上,我试图找出两个用户投票习惯之间的相似之处。
我有一个表格存储每个单独的投票,其中存储:
voteID
itemID (the item the vote is attached to)
userID (the user who voted)
direction (whether the user voted the post up, or down)
我的目标是通过找出两件事来计算用户 A 和 B 之间的相似度:
- 他们的共同投票数。也就是说,他们在同一个帖子上投票的次数(此时方向无关紧要)。
- 他们以共同投票方式向同一方向投票的次数。
(然后简单地将 #2 计算为 #1 的百分比,以获得粗略的相似度评级)。
我的问题是,我如何找到两个用户的投票集之间的交集?(即,我如何充分计算第 1 点,而不以非常低效的方式循环每个投票.) 如果他们在不同的表中,一个 INNER JOIN 就足够了,我想......但这显然不会在同一个表上工作(或者会吗?)。
任何想法将不胜感激。
【问题讨论】:
标签: sql mysql database relational self-join