使用 DISTINCT 消除重复项

DISTINCT 关键字可从 SELECT 语句的结果中消除重复的行。如果没有指定 DISTINCT,将返回所有行,包括重复的行。例如,如果选择 ProductInventory 中的所有产品 ID 时没有使用 DISTINCT,将返回 1069 行。

如果使用了 DISTINCT,就可以消除重复的行,只查看唯一的产品 ID:

USE AdventureWorks;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory

此查询将返回 432 行。

重要说明重要提示

涉及 DISTINCT 的语句的输出取决于应用 DISTINCT 的列或表达式的排序规则。

对于 DISTINCT 关键字来说,空值将被认为是相互重复的内容。当 SELECT 语句中包括 DISTINCT 时,不论遇到多少个空值,结果中只返回一个 NULL。

注意注意

为了与 ISO 标准和其他 MicrosoftSQL Server 实现兼容,ALL 关键字可以显式请求所有行。但是,由于 ALL 是默认的,所以无需指定它。

请参阅

参考