一个好友推荐的简单实现

  <script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
CREATE   TABLE  t1
(
c1 
NUMBER ,
c2 
VARCHAR2 ( 10 )
);

INSERT   INTO  t1 (C1, C2)  VALUES  (  1 ' a ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  1 ' b ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  1 ' c ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  1 ' d ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  2 ' a ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  2 ' b ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  2 ' c ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  2 ' e ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  3 ' a ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  3 ' b ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  3 ' e ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  4 ' a ' );
INSERT   INTO  t1 (C1, C2)  VALUES  (  4 ' e ' );

COMMIT ;

 C1代表用户id,C2是该用户所访问的文章标题,C1=1的用户访问了a b c d四篇文章,现在要查出访问文章和用户1重叠数超过3(包含3)的用户id,C1=2的用户访问了a b c e四篇文章,两个都访问了a b c,重叠数是3,则相对于1号用户来说2号用户是符合要求的,其实用一句话说,就是:对每个用户查找与之有相同偏好的用户,相同偏好的定义为访问文章重叠数>=a。

SELECT    c1
    
FROM  t1
   
WHERE  c2  IN  ( SELECT  c2
                  
FROM  t1
                 
WHERE  c1  =   1 AND  c1  !=   1
GROUP   BY  c1
  
HAVING   COUNT  ( 1 >   3 ;

发表于 @ 2007年07月31日 09:48:00|评论(0 <script type=text/javascript>AddFeedbackCountStack("1718251")</script> )|编辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值