This topic created in 4610 days ago, the information mentioned may be changed or developed.
类似与新浪微博共同关注的人。多对多的问题。关注表id uid fid:id主键,uid用户uid(被关注者), fid粉丝uid(关注者)。现在有a,b两个人其uid分别为1和2,那么如何查询其共同关注的人。"SELECT * FROM `u_f` WHERE fid = 2 and uid in (SELECT uid FROM `u_f` WHERE fid = 1)",这条语句是可以得到,但是如果是要查询三个人共同关注的呢,要查询四个人共同关注的呢,如果这样上上面那样嵌套感觉有点并不靠谱,还是本身表结构上面就有问题?
1 replies • 1970-01-01 08:00:00 +08:00
 |
|
1
rpx Sep 22, 2013 1
我的思路: 先分别查出关注者1 2 3 4所关注的对象id,(4句单独sql可以实现) 然后把这4个sql的结果当成表,直接join就可以了。
或者 select uid,count(*) from u_f where fid in (1,2,3,4) group by uid having count(*)=4 --几个人就等于几 注意性能
|