基本语法

SELECT DISTINCT <字段名> FROM <表名>;

 

使用场景

1. 单字段去重

SELECT DISTINCT age FROM student;

结果:

 age 

   18

   19

   20

说明:返回 age 字段的所有不同值

 

2. 多字段组合去重

SELECT DISTINCT name, age FROM student;

结果:

nameage
zhangsan18
lisi19
wangwu18
zhaoliu18
wangwu20


说明:只有当 name 和 age 的组合完全相同时才会被去重

 

3. 所有字段去重

SELECT DISTINCT * FROM student;

结果:返回表中所有记录,因为 id 和 stuno 字段是唯一的

 

结合 COUNT 统计不重复记录数

SELECT COUNT(DISTINCT name, age) FROM student;

结果:

 COUNT(DISTINCT name,age)

                        5

 

注意事项

1. 位置要求:DISTINCT 必须紧跟在 SELECT 之后

    正确:`SELECT DISTINCT name, age FROM student;`

    错误:`SELECT name, DISTINCT age FROM student;`

 

2. NULL 值处理:DISTINCT 将 NULL 视为相同的值,只返回一个

点赞(3)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)