- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表“my_table”,其中包含两个字段:“name”和“name_id”。字段“name_id”是一个数字。
name| name_id
----+---------
foo | NULL
foo | NULL
bar | NULL
bar | NULL
bar | NULL
我需要使用“name”字段的唯一值的序列号来更新“name_id”字段,因此结果表如下所示:
name| name_id
----+---------
foo | 1
foo | 1
bar | 2
bar | 2
bar | 2
我为MySQL写了一个小程序:
SET @counter := 0;
UPDATE
(
SELECT `name`, (@counter := @counter + 1) AS `newId`
FROM
(
SELECT DISTINCT `name`
FROM `my_table`
ORDER BY `name`
) AS `temp`
) AS `src` RIGHT JOIN `my_table` AS `dest` ON `dest`.`name` = `src`.`name`
SET`dest`.`name_id` = `src`.`newId`;
这个解决方案正确吗?有更好的解决方案来完成这项任务吗?
最佳答案
在MySQL中,您可以使用变量:
set @rn := 0;
set @n := '';
update my_table
set name_id = (@rn := if(@n = name, @rn,
if(@n := name, @rn + 1, @rn + 1)
)
)
order by name;
关于mysql - 用其他字段唯一值的序号更新表中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54188613/
这个问题在这里已经有了答案: Batch renaming files with Bash (10 个答案) 关闭 6 年前。 我想将包含子目录的目录中的文件重命名为父目录名称+序号。 例如: he
我需要帮助! HTML 最佳答案 试试这个 var array = document.getElementById('wrapperDiv'); for (var i = 0, len = a
我正在本地主机上安装 SSL。当我尝试运行时 openssl genrsa -aes256 -out private.key 2048 cmd 中的命令,我收到错误警告。 The ordinal 3
我想做(某种程度上)与 this old post 相反的事情是关于; 这是我的示例表: ID NAME ---- ---- 1 Apple 2 Apple 3 Apple
我读过一些不错的帖子,比如 this one它解释了在给定 int 时接收序数的方法。 现在,我有一个 LocalDate 对象,我可以使用我的 Thymeleaf 模板中的任何 DateTimeFo
我是解码器和 FFmpeg 的新手。我需要的是实现可以通过某个步骤读取帧的逻辑(例如:20),换句话说,我有一个文件,我需要读取帧 0、20、40、60 ...... 我所做的是 AVFrame *
我安装了 "mysql-installer-community-8.0.16.0.msi" .安装期间一切顺利。我什至可以为我的项目创建一个新的数据库和表。我在 C++ 中使用它。编译和链接一切顺利。
有谁知道传递给 dwmapi.dll 序号 #113 的参数是什么? (Windows 7) 我正在尝试将此方法合并到我正在编写的应用程序中。据我所知,此方法负责为 Windows 执行 Aero p
我有一个在 Hibernate 的 EntityManager 中管理的实体。这个实体确实有一个由 ENUM 表示的状态。 Hibernate 确实将数据库中的 ENUM 值保存为整数。 当 ENUM
关于我的问题:Detect the the vtable offset of a specific virtual function (using Visual C++) : 给定: struct A
我刚刚在 Windows 10 上安装了 Anaconda 5.3 64 位 (Anaconda3-5.3.0-Windows-x86_64),但在尝试运行 Spyder 时出现此错误。 python
我是一名优秀的程序员,十分优秀!