首页 > 解决方案 > 如何在 MySQL 中使用动态数据动态更新所有行?

问题描述

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

我想要达到的目标:

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

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

现在我想更新这个表中的所有行。我想要更新它们的是代码应该A从那时B开始c等等,在它到达z之后应该再次从AA. 所以我需要一个为自己设置值的 var。

预期的最终结果:

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

等等。

标签: mysqlsqlmysql-8.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

推荐阅读