SQL 中的 DISTINCT 关键字用于从查询结果中删除重复的行。 它保留每个表的唯一行,丢弃重复值。使用时,在 SELECT 语句开头紧跟在结果列后面,例如:SELECT DISTINCT 列名1, 列名2 FROM 表名; DISTINCT 的好处包括消除重复值,简化数据分析,提高查询性能,确保结果唯一性。但它仅删除重复行,不影响行内字段排序,并且可能导致查询性能下降。

SQL 中 DISTINCT 关键字的使用
什么是 DISTINCT?
DISTINCT 关键字用于从 SQL 查询结果中删除重复的行。它保留查询中每个表的唯一行,而丢弃重复值。
如何使用 DISTINCT?
DISTINCT 关键字用于 SELECT 语句的开头,紧跟在查询结果列后面:
SELECT DISTINCT 列名1, 列名2 FROM 表名;
举个例子:
假设有以下表:
系统功能强大、操作便捷并具有高度延续开发的内容与知识管理系统,并可集合系统强大的新闻、产品、下载、人才、留言、搜索引擎优化、等功能模块,为企业部门提供一个简单、易用、开放、可扩展的企业信息门户平台或电子商务运行平台。开发人员为脆弱页面专门设计了防刷新系统,自动阻止恶意访问和攻击;安全检查应用于每一处代码中,每个提交到系统查询语句中的变量都经过过滤,可自动屏蔽恶意攻击代码,从而全面防止SQL注入攻击
| id | name | |---|---| | 1 | John | | 2 | Mary | | 3 | John |
以下查询使用 DISTINCT 关键字删除重复的行:
SELECT DISTINCT name FROM 表名;
输出:
| name | |---|---| | John | | Mary |
DISTINCT 的好处:
使用 DISTINCT 可以简化数据分析,因为它:
- 消除重复值,使结果更简洁。
- 提高查询性能,因为数据库不必处理重复的数据。
- 确保结果中仅包含唯一值。
注意事项:
- DISTINCT 仅删除重复的行,不影响行内字段的排序。
- 如果查询中不使用 ALL 关键字,DISTINCT 默认是启用状态。
- 在某些情况下,使用 DISTINCT 可能导致查询性能下降,因为它需要对数据进行额外的处理。









