Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用重复值计数器更新列_Mysql_Sql - Fatal编程技术网

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。你应该问另一个问题。这个问题已经回答了。