1、distinct关键字去重
可以查询出使用distinct修饰的字段去重以后的记录,可以多个字段。例如:
select distinct field1 from table;
select distinct field1,field2,field3 from table;
2、删除重复记录,保留一条
思路(以name字段去重为例):
1、先查询出每种重复记录中id最小的那条记录的id。
SELECT MIN(id) AS min_id FROM table GROUP BY name
2、保存到临时表
SELECT min_id FROM (
SELECT MIN(id) AS min_id FROM test GROUP BY name
)
3、在原表中删除其他记录
DELETE FROM test WHERE id NOT IN (
SELECT t.min_id FROM (
SELECT MIN(id) AS min_id FROM test GROUP BY name
) t
)