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 了。
Copyright ©2018 陕西烽火云集信息科技有限公司 版权所有 陕ICP备18009853号-1 增值电信业务经营许可证B1-20180802
烽火云集用户注册协议 法律声明及隐私权政策 致烽火云集用户的一封
法务支持:陕西兰天律师事务所