MySQL带DISTINCT关键字的查询

很多数据表中,某些字段的数据存在重复的值

使用Select语句,查询gender字段
可以看出,结果8条记录中,有5条记录的字段值为na,有2条记录的值为nv。

MySQL带DISTINCT关键字的查询

查询student表中,gender字段的值,查询记录不能重复
可以看出,查询只返回了三条记录的gender值,没有重复值

有时候,出于对数据的分析需求,需要过滤掉查询记录中重复的值,在SELECT语句中,使用DISTINCT关键字来实现
SELECT DISTINCT 字段名 FROM 表名

参数说明

字段名,表示要过滤重复记录的字段

DISTINCT关键字,作用于多个字段

DISTINCT关键字,可以作用于多个字段,语法格式
SELECT DISTINCT 字段名1,字段名2,……
FROM 表名;

注意,只有DISTINCT关键字,后面指定的多个字段值都相同,才会被认作为重复记录

查询student表中,gender和name字段,使用DISTINCT关键字,作用于这两个字段

MySQL带DISTINCT关键字的查询

可以看出,gender字段中出现了重复的值,但它们的name字段值并不相同。

因为,DISTINCT关键字作用于gender和name两个字段,只有这两个字段的值都相同,才被认为是重复记录

为了演示过滤的效果,向student表中,添加一条记录,然后查询
可以看出,第一条记录和第九条记录,gender和name字段值相等

MySQL带DISTINCT关键字的查询

查询student表,gender和name字段,使用DISTINCT过滤
可以看出,过滤了gender和name字段都相同的记录