在MySQL中,DISTINCT
关键字用于从结果集中返回唯一(不同)的值。当你使用 SELECT
语句从一个或多个列中查询数据时,可能会得到重复的行记录。如果你希望每个记录都是独一无二的,即每个记录在结果集中只出现一次,那么就可以使用 DISTINCT
关键字来实现。
基本用法
SELECT DISTINCT 列名称 FROM 表名称;
- 列名称:这里指定你希望返回唯一值的列名。
- 表名称:指定要从中选择数据的表名。
示例
假设有一个 employees
表,其中包括 department
列,而你想要找出所有不同的部门名称。你可以写:
SELECT DISTINCT department FROM employees;
这个查询将返回 department
列中所有不同的值,每个部门名称在结果集中只出现一次,即使在 employees
表中每个部门可能有多个员工关联。
注意事项
- 当你对多个列使用
DISTINCT
关键字时,MySQL将返回这些列的唯一组合。例如,SELECT DISTINCT column1, column2 FROM table;
将返回column1
和column2
的所有唯一组合。 - 使用
DISTINCT
可能会影响查询性能,尤其是在处理大型数据集时。因为数据库需要额外的步骤来确定哪些行是唯一的。 - 如果你仅对表中某一列的唯一值感兴趣,而不是整个行的唯一组合,确保只在
SELECT DISTINCT
后面指定那一列的名称。
DISTINCT
是一个非常有用的工具,尤其是在进行数据分析和数据清洗时,它能帮助你快速识别表中的唯一值和重复值。