table_user
id user shangjiaid vip
1 用户A 2 0
2 用户B 3 0
3 用户C 2 0
4 用户D 5 0
5 用户E 5 0
6 用户F 5 0
7 用户G 2 0
8 用户H 5 0
9 用户J 2 0
10 用户K 5 0
11 用户K 5 0
12 用户K 7 0
13 用户K 12 0
更新VIP等于1
比如 id=5的这个人 下家的数量满足3个 然后更新vip=1
用一句sql能update更新? 这个应该属于递归...
就是说每个人都有上家...如果这个人下家满足3个人..然后更新VIP=1
update结果集
table_user
id user shangjiaid vip
5 用户E 5 1
2 用户B 3 1
update table_user set vip = 1 where id in (select * from (SELECT a.shangjiaid FROM
table_useras a GROUP BY a.shangjiaid having count(1) >= 3) as b)
感觉应该还有更优解吧。。
另外给个建议,LZ以后提问的时候最好能把建表语句和数据填充语句贴上来,这样会省很多时间。也许会有更多答案。