mysql中多列去重,MySQL-常见小疑惑

1. DISTINCT 多列去重

1.1 select DISTINCT a,b 实际含义是?

正确:排除 (a列重复且b列重复)的记录

错误:排除 a b两列 值合并后 重复的记录。

举例1:

去重前,10个记录

mysql中多列去重,MySQL-常见小疑惑_第1张图片

按照distinct a,b 去重,原来10个记录,现在查到了8个。

mysql中多列去重,MySQL-常见小疑惑_第2张图片

1.2 展示多列,但是只选择只去重一列的实现方法:使用group by

select a, b from tablename group by a;

举例1:

原纪录中重复的 王15 和王17,因为group by sname ,排除掉了,展示的时候,结果只选中和展示1个王15和1个王17

mysql中多列去重,MySQL-常见小疑惑_第3张图片

结论:无论是distinct还是group by,在单列去重的时候,都是只保留多个重复记录中的的一个记录,但是其他列可能数据实际上

你可能感兴趣的:(mysql中多列去重)