删除表中的重复记录

xiaoxiao2026-05-27  1

因为重复的数据会是有两条的或两条以上,不知道你是想保留一条还是想都删除掉。 CREATE TABLE test ( a VARCHAR(10) NULL, b VARCHAR(10) NULL, c VARCHAR(10) NULL)插入数据a b c--------------------1 a 11 a 22 b 13 c 13 c 2先找出重复记录:SELECT a,b FROM test t GROUP BY a,bHAVING COUNT(*)>1如果想把重复的都删除:DELETE test FROM testJOIN (SELECT a,b FROM test t GROUP BY a,bHAVING COUNT(*)>1 )t2 ON test.a=t2.a AND test.b=t2.b 如果想保留一条还要根据其它的列来判断,比如例子中的C列,下面实现A,B两列都相同时保留C最小的一条:DELETE test FROM testJOIN (SELECT a,b,min(c)c FROM test t GROUP BY a,bHAVING COUNT(*)>1 )t2 ON test.a=t2.a AND test.b=t2.b AND test.c= t2.c
转载请注明原文地址: https://www.6miu.com/read-5049517.html

最新回复(0)