除了distinct还有什么去重,distinct 多列去重
Distinct仅用于消除重复,而group by则用于汇总统计数据。它们在所能实现的功能上有一些相似之处,但要仔细区分,因为如果用错了场景,效率上的差异会翻倍。
简单的重复数据消除操作使用distinct,比group by更快。
明显的
Distinct支持单列和多列重复数据消除。
单列重复数据消除方法简单易懂,即只保留其中一个相同的值。
许多列根据指定的已消除重复的列信息进行重复数据消除,也就是说,只有当所有指定的列信息都相同时,才会将其视为重复信息。
干巴巴的话很难懂,比如:
示例数据表中的数据:
mysql select * from talk _ test
- - -
id 姓名手机号码
- - -
1 xiao9 555555
2 xiao6 666666
3 xiao9 888888
4 xiao9 555555
5 xiao6 777777
- - -
单列重复数据消除后的结果:
MySQL select distinct(name)from talk _ test;
-
姓名
-
小9
小6
-
集合中的2行(0.01秒)
mysql select distinct(移动)from talk _ test
-
手机
-
555555
666666
888888
777777
-
* *将只保留指定列的信息。
多列重复数据消除的结果:
mysql select distinct name,mobile from talk _ test
- -
姓名手机
- -
xiao9 555555
xiao6 666666
xiao9 888888
xiao6 777777
- -
* *只有当所有指定的列信息都相同时,才会被视为重复信息。