我有一个表“会员”,其中有“用户”和“ referredBy”列。
给定一个用户,我希望得到该用户推荐的所有“ n级”玩家。对于n = 1,我们只是对您直接推荐了多少玩家感兴趣:
SELECT * FROM affiliates WHERE referredBy = "me"
但是,如果您推荐的人又推荐了其他人,则该人被视为您的次要(n = 2)会员。例如,如果表如下所示:
user | referredBy |
bob | andy |
cindy | andy |
dave | cindy |
然后,安迪的第一级会员是鲍勃和辛迪。戴夫是他的二级会员,因为戴夫是由安迪(辛迪)的会员推荐的。
如何获得代表特定用户的n级会员的所有条目?
最佳答案
基本上有两种方法可以这样做。
第一种方法是使用后端语言从数据生成树。 Here 您可以找到一些代码示例
第二种方法要求您更改表结构并使用Nested set model。
您可以找到一些示例here。
您也可以尝试复制粘贴联接,就像其他建议的那样,但这是不切实际的,并且会花费大量时间和内存处理大量数据。
关于mysql - MySQL获得n级成员(member),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28979925/