mysql如何去掉重复记录

2023-02-20 09:19:03

mysql去掉重复记录的方法:1、使用“select distinct name from a where statesign=0”命令去除重复记录;2、使用“select name from a where statesign=0 group by name”命令去除重复记录。

mysql查询去除重复记录

1:使用distinct

select distinct name from a where statesign=0

查询表a中的name字段,去除重复记录

2:使用group by

select name from a where statesign=0 group by name

查询表a中的name字段,分组,去除重复记录

distinct使用时要放在第一个位置否则会报错

相关拓展:

DISTINCT 实际上和 GROUP BY 操作的实现非常相似,只不过是在 GROUP BY 之后的每组中只取出一条记录而已。所以,DISTINCT 的实现和 GROUP BY 的实现也基本差不多,没有太大的区别。同样可以通过松散索引扫描或者是紧凑索引扫描来实现,当然,在无法仅仅使用索引即能完成 DISTINCT 的时候,MySQL 只能通过临时表来完成。

但是,和 GROUP BY 有一点差别的是,DISTINCT 并不需要进行排序。也就是说,在仅仅只是 DISTINCT 操作的 Query 如果无法仅仅利用索引完成操作的时候,MySQL 会利用临时表来做一次数据的“缓存”,但是不会对临时表中的数据进行 filesort 操作。

当然,如果我们在进行 DISTINCT 的时候还使用了 GROUP BY 并进行了分组,并使用了类似于 MAX 之类的聚合函数操作,就无法避免 filesort 了。