【582、DISTINCT 的去重原理】

603 阅读1分钟

DISTINCT是一个SQL关键字,用于从查询结果中去除重复的行,只返回唯一的行。其去重原理是通过比较查询结果中的每一行数据来判断是否重复。在比较时,会对查询结果中的每个列逐一进行比较,只有在所有列的值都相同时,才认为这两行数据是相同的,只保留其中一行数据。

举例来说,假设有如下表格:

+----+-------+-------+
| id | name  | score |
+----+-------+-------+
|  1 | Alice |    80 |
|  2 | Bob   |    70 |
|  3 | Alice |    80 |
+----+-------+-------+

使用以下SQL语句进行查询:

SELECT DISTINCT name, score FROM table1;

则查询结果为:

+-------+-------+
| name  | score |
+-------+-------+
| Alice |    80 |
| Bob   |    70 |
+-------+-------+

从查询结果可以看出,DISTINCT关键字去除了原始表中的重复行,只保留了不同的行。

需要注意的是,DISTINCT关键字只对查询结果中的行进行去重操作,不会对表中的数据进行修改。因此,在查询时使用DISTINCT关键字可以消除查询结果中的重复数据,但是不会修改原始表中的数据。