mysql 删除重复数据
发布网友
发布时间:2022-05-06 09:17
我来回答
共3个回答
热心网友
时间:2022-05-06 10:46
1、你的意思是多条记录比较
2、多条记录的a字段和b字段。 c字段和d字段比较吗?
可以再次叙说一下你的意思吗?方便解答追问原意如下:去重复内容,保留内容多的一项。
a,b两个字段内容相同,即认为是重复,那么判断c,d,e,f等等,保留null最少的一条,如都不为空,那么保留id最大的一项。
不知道这样说清楚不?另外,感谢大家帮忙,谢谢。
热心网友
时间:2022-05-06 12:04
DELETE FROM mysqldate WHERE `a`=`b` AND (`c` != NULL OR `d` != NULL)
p.s.我也是初学者
热心网友
时间:2022-05-06 13:39
delete from
mysqldate
where
id not in
( select max(id) from mysqldate group by a, b);追问谢谢,请问您这个语句能判断c,d为空最多的数据么?看下来好像只是判断id小的就删除,好像没有涉及到c,d字段吧。请赐教~~~
补充:主要是判断是否存在a,b两个字段完全重复的数据.保留其中一个。
a b c d
1 2 null 3
1 2 3 4
这样判断ab两个字段,发现重复数据,判断cd,第一个字段有一个null,第二个字段没有null,所以删除第一个字段。