0

我有一张包含数百万条记录的表。每条记录都保留用户对项目的浏览行为。就像

>BrowseRecordTable  
>| ------------------------|   
>userid,itemid,operatetime

当给我一个项目ID(itmeid1)时,现在我想找出谁浏览了这个项目也浏览了。这是我要做的:
①、从BrowseRecordTable中选择所有记录,其中itemid = itemid1
②、对于每条记录,获取userid(temp_userid),
然后在半小时内从BrowseRecordTable中选择记录,其中userid = temp_userid。

当 BrowseRecordTable 很大时。有一些麻烦。
如果①<br>中的itemid有数千条记录,那么我需要从②中的BrowseRecordTable中选择数千次</p>

如果有更好的方法来完成我的任务?

4

1 回答 1

1

也许像这样的加入?

select * from BrowseRecordTable where userid in (
  select userid from BrowseRecordTable where itemid=itemid1)
于 2013-11-08T09:00:10.333 回答