mysql:生成具有“递归”关系的新列

oxcyiej7  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(194)

我有一个 MySQL (ver: 5.7) 表,它有两列: playId 以及 deviceId ```
playId deviceId
a 123
b 123
b 321
d 321
e aaa
f ccc
g cba
h aaa
h ccc
i cba
i aaa
.... ....

现在我要生成一个新列 `userId` 要识别用户,标准取决于两列:
如果 `playerId` a登录到 `devices` ,那么这个 `playerId` 以及 `devices` 被视为 `belong to ONE user` 如果一个新的 `playerId` 已登录到 `device` 属于此用户的,或新的 `device` 由 `playerId` 属于此用户的,它们被视为 `belongings of this user` 生成此用户的id
例如,如下所示,用户帐户 `a` 以及 `b` 已登录设备 `123` ,所以 `a` 以及 `b` 被视为用户“1”。当玩家ID `b` 也在设备上登录 `321` ,则所有帐户都由 `321` 应视为 `belong to user 1` :

playerId deviceId user
a 123 1
b 123 1
b 321 1
d 321 1
e aaa 2
f ccc 2
g cba 2
h aaa 2
h ccc 2
i cba 2
i aaa 2
... ... ...

每天,新的数据进来,需要为新用户生成id。。。
这和triditay递归逻辑有点不同,sql能完成这个复杂的逻辑吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题