mysql - 如何使用 MySQL 中每行的动态数据动态更新所有行?

标签 mysql sql mysql-8.0

我有大约 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           |
+----------------------------------+

等等。

最佳答案

您可以尝试如下 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

关于mysql - 如何使用 MySQL 中每行的动态数据动态更新所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56522328/

相关文章:

mysql用户上次登录/访问日期时间

mysql - 使用 IN 运算符进行 JOIN 查询

MySQL:如何更新以 "1"开头的键列

sql - PostgreSQL 错误 : column "qty" is of type integer but expression is of type text

MySQL8.0用户配置文件

mysql - 计算不同值的出现次数

php - 在 PHP 中跟踪更改/修订脚本?

mysql - 如何优化mysql中的group_concat子查询?

mysql - MySQL 8 中的错误 1449 (HY000) : problem encountered while issuing commands like 'show databases' , 'show tables' 等

mysql - 如何有效地仅在WITH RECURSIVE语句中保留最新行?