gpt4 book ai didi

MYSQL 查询使值成为重复项并从表中删除重复项

转载 作者:行者123 更新时间:2023-11-29 00:47:59 25 4
gpt4 key购买 nike

我有一个有 692256 行的表,它的数据类似于下面

customer_type_id     data             

1 G.M (1)
1 GM (1)
1 FORD (K.G)
1 FORD(K.G)
1 Honda

2 GM (1)
2 OTHER
2 OTHER2

在上述情况下,我必须删除基于 customer_type_iddata 列的重复项。并且重复项不完全是重复项。例如前两条记录是重复的,接下来的两条记录也是重复的。 data 中可能有一些空格、句点或大括号。所以要获得重复项,我必须在 data 列上运行以下函数

trim( replace(replace(replace(replace(replace(data,'.',''),'(',''),')',''),' ','') ,' ','')  )

现在我想从上述案例中删除其中一行并保留另一行的格式。

在上面的例子中我想得到

customer_type_id     Data             

1 G.M (1)
1 FORD(K.G)
1 Honda

2 GM (1)
2 OTHER
2 OTHER2

事实上任何重复值的记录都可以。但不应像下面这样(在下面的情况下,数据列值空间和大括号已从现有值中删除)

 customer_type_id     Data             

1 GM1
1 FORDKG
1 Honda

2 GM (1)
2 OTHER
2 OTHER2

有什么帮助吗?

非常感谢

问候

基兰

最佳答案

添加一个自动递增键“ID”

delete 
from table
where table.ID NOT IN (
select MAX(ID)
from table
group by customer_id, your_function(data) )

我想它应该可以工作,请检查/确认语法,我不确定。想法是删除除一个不同组合之外的所有记录。

关于MYSQL 查询使值成为重复项并从表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9767641/

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