gpt4 book ai didi

mysql - 编写一个查询来从 MySQL 表中删除重复行?

转载 作者:行者123 更新时间:2023-11-29 15:27:04 26 4
gpt4 key购买 nike

enter image description here

我有一个包含许多重复行的 mysql 表,如上例所示,我想删除重复行并保留其中的一个,我该怎么做?我应该使用哪个查询?我还想保持我的 ID 增量排序,例如 1、2、3 等。我不希望删除导致我的 ID 排序为 1、10、15 等。如何通过增量方式重新排序我的行身份证号?

最佳答案

如果您想重新编号 id,我建议删除数据并重新插入。

create table temp_t as 
select min(id) as min_id, parametername, parametertype, . . . -- list the columns
from t
group by parametername, parametertype;

truncate table t; -- back it up first!

insert into t (parameternae, parametertype, . . .)
select parametername, parametertype, . . .
from temp_t
order by min_id;

这假设id是自动递增的。如果不是,您可以使用:

insert into t (id, parametername, parametertype, . . .)
select row_number() over (order by min_id), parametername, parametertype, . . .
from temp_t
order by min_id;

关于mysql - 编写一个查询来从 MySQL 表中删除重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59017693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com