如何在MySQL中每行动态更新所有行的动态数据?

时间:2019-06-10 07:36:04

标签: mysql sql mysql-8.0

我大约有300行。我想做的是用MySQL更新所有表。

我想要实现的目标:

我有一个表,其中包含一组行

+----------------------------------+
| name              | code         |
+----------------------------------+
| test              | (null)       |
| test              | (null)       |
+----------------------------------+

现在,我想更新此表中的所有行。我想将其更新为 代码应从A开始,然后从B然后是c,依此类推,直到到达z后,代码应再次从AA开始。因此,我需要一个为自身设置值的变量。

预期的最终结果:

+----------------------------------+
| name              | code         |
+----------------------------------+
| test              | A            |
| test              | B            |
.
.
| test              | z            |
| test              | AA           |
| test              | AB           |
+----------------------------------+

以此类推。

1 个答案:

答案 0 :(得分:0)

您可以按以下方式尝试使用此SQL:

select
    name,
    char(row_number() over(order by name) - ceil(row_number() over(order by name)/27.0 - 1)*27+64) as abc_group_num
from
    my_table