Mysql 使用重复值计数器更新列
我想先计算重复值计数器,然后将其用于要更新的另一列。Mysql 使用重复值计数器更新列,mysql,sql,Mysql,Sql,我想先计算重复值计数器,然后将其用于要更新的另一列。 我怎样才能做到这一点 首先,我有一个表格如下: 身份证件 另一个身份证 1. 无效的 1. 无效的 1. 无效的 2. 无效的 2. 无效的 2. 无效的 2. 无效的 ... ... N 无效的 我建议只重建表格: create table temp_t as select t.*, row_number() over (partition by id order by id) as seqnum from t; trun
我怎样才能做到这一点 首先,我有一个表格如下: 身份证件 另一个身份证 1. 无效的 1. 无效的 1. 无效的 2. 无效的 2. 无效的 2. 无效的 2. 无效的 ... ... N 无效的
我建议只重建表格:
create table temp_t as
select t.*, row_number() over (partition by id order by id) as seqnum
from t;
truncate table t;
insert into t (id, another_id)
select id, seqnum
from temp_t;
注意:使用
截断表之前要非常小心。首先检查结果 您使用的是哪个myslq版本抱歉,我不记得我使用的是哪个版本,周末无法访问我的环境。。。我认为这不是最新的,但也不是过时的。非常感谢你的建议!我记下了你的解决办法。然而,在不重建桌子的情况下,你有什么想法吗?如果可能的话,我很想学习更新SQL。@mkzyk。如果您有一个主键,那么这将是合适的。如果没有主键,我建议只重建表。实际上,我也只有作为主键的自动递增id。所以表是no
(主键),id
,另一个id
。它适合更新SQL吗?@mkzyk。你应该问另一个问题。这个问题已经回答了。