有一张test表
里面的school_name字字段与重复内容,那么我删除重复内容只保留一条数据
1、删除重复记录,保存Id最小的一条
delete FROM `test` WHERE `school_name` in (SELECT `school_name`
FROM `test`
GROUP BY `school_name`
HAVING COUNT( * ) >1) and school_id not in (select min(school_id) from test group by school_id having count(* )>1)
先使用GROUP BY having语法查询出重复的数据,然后删除重复数据并保留school_id最小的一条.
2、删除重复记录,保存Id最大的一条
delete FROM `test` WHERE `school_name` in (SELECT `school_name`先使用GROUP BY having语法查询出重复的数据,然后删除重复数据并保留school_id最大的一条.。
FROM `test`
GROUP BY `school_name`
HAVING COUNT( * ) >1) and school_id not in (select max(school_id) from test group by school_id having count(* )>1)
网友回复