假设我有一个subscribers
表,每个用户都有一行,如下所示。
id name subscribers
1 user1 user2,user3,user4
2 user2 user4,user5,user3
3 user3 user1,user6,user2 etc...
我想做的是,运行这样的select语句..
SELECT subscribers from table where id = '1'
…然后,限制给我看的订户数量
也就是说,如果我把它限制在2,它只会从
SELECT "user2,user3"
开始table.subscribers WHERE id=1
我知道我可以在用php选择所有选项后限制它,但我不想遇到性能问题,如果每个列中有数百万个用户名…
另外,这是建立
subscibe/follow
系统的最佳结构吗?还是有更好的办法? 最佳答案
您正在同一字段中存储多个值。真糟糕!
您需要另一个表来表示订阅-它将有一列userid
和subscriberuserid
(或类似的内容)。
对于用户拥有的每个订阅者,此表中都会有一条记录,其中包含该用户的userid(及其订阅者的userid)。
然后,你可以限制你的心的内容:
SELECT subscribers.subscriberuserid
FROM subscribers
WHERE userid = 1
LIMIT 2