美文网首页MySQL 入门教程
23《MySQL 教程》DISTINCT 去重

23《MySQL 教程》DISTINCT 去重

作者: 木子教程 | 来源:发表于2022-04-16 12:58 被阅读0次

前面小节介绍了如何使用 GROUP BY 对查询数据分组,并且 GROUP BY 能起到有效去重作用,本小节介绍如何使用 DISTINCT 去重。

1. 单字段去重

以表 student_course 和 表 student 链接为例:

SELECT * FROM student_course a INNER JOIN student b ON a.student_id=b.id;

查询结果如下图:

5ea98bbb0905bb8709460466.jpg

上图查询结果中,若只需要学生信息,则需要对结果进行去重:

SELECT DISTINCT student_id 
FROM 
student_course a 
INNER JOIN 
student b 
ON a.student_id=b.id;

执行结果如下图 :

5ea98bd1093749f811270316.jpg

2. 多字段去重

以表 student_course、course、course、teacher 链接为例:

SELECT * 
FROM 
student_course a 
INNER JOIN 
course b 
ON a.course_id=b.id 
INNER JOIN teacher c 
ON b.teacher_id=c.id;

查询结果如下图:

5ea98be309244eb914510461.jpg

如上图,若需要得到所有教师的所有课程信息,则需要多个字段对结果去重:

SELECT 
DISTINCT  a.course_id,b.course_name,b.teacher_id,c.name
FROM 
student_course a 
INNER JOIN 
course b 
ON a.course_id=b.id 
INNER JOIN teacher c 
ON b.teacher_id=c.id;

去重后查询结果如下图 :

5ea98c0409a8350912930436.jpg

Tips:多字段去重意思就是只有所有指定的列信息都相同,才会被认定为重复的信息。

3. 小结

本小节介绍了如何使用 DISTINCT 去重,之前介绍的 GROUP BY 也能起到去重的作用,使用的频率相对较高,它的目的是用来分组进行聚合统计的,例如需要对分组的数据统计:

 SELECT teacher_id,count(*) FROM course GROUP BY teacher_id;

执行结果如下图:

5ea98c1409937cfd07760460.jpg

Tips:如上图所示,count(*) 表示使用聚合函数对分组数据统计,这里可以理解为分组重复的总数,例如 teacher_id=1 的总共有 5 条。

相关文章

  • 23《MySQL 教程》DISTINCT 去重

    前面小节介绍了如何使用 GROUP BY 对查询数据分组,并且 GROUP BY 能起到有效去重作用,本小节介绍如...

  • mysql distinct去重

    在使用distinct时发现,select distinct name from t1;会去掉重复的id记录。但是...

  • MySQL去重distinct

    在MySQL中需要查询表中不重复的记录时,可以使用distinct关键字过滤重复记录。 语法: select di...

  • DB

    1、Mysql去重 distinct关键字:SELECT DISTINCT d.id from user d; g...

  • sql语法:sql必读必会(一)

    SQL 基础教程 关键词DISTINCT作用:结果集去重。语法:SELECT DISTINCT 列名称 FROM ...

  • mysql_distinct 去重

    distinct 作用域后面的连续多个字段 对性别进行去重 ,就剩下男和女 每一个用户都去过那些城市

  • mysql 练习题

    MYSQL部分 1.概述Group by 和Distinct去重的区别? Group by: 分组,相同字段归为一...

  • MySQL常用命令(二)-DISTINCT、LIMIT、ORDE

    DISTINCT关键字 作用:指示MySQL只返回不同的值(去重);用法:放置在需要去重的列前面; DISTINC...

  • distinct()函数 去重

    distinct()函数 去重 8.0之前先排序 再去重 效率低 select distinct...

  • sql 函数 单词整理

    distinct —— 去重函数 select distinct depart from teacher; b...

网友评论

    本文标题:23《MySQL 教程》DISTINCT 去重

    本文链接:https://www.haomeiwen.com/subject/zbxhertx.html