使用 DISTINCT 消除重複

DISTINCT 關鍵字將重複的資料列從 SELECT 陳述式的結果中消除。若未指定 DISTINCT 便傳回全部的資料列,包含重複的資料列。例如,如果您不使用 DISTINCT 而在 ProductInventory 中選取了所有產品識別碼,則會傳回 1069 個資料列。

使用 DISTINCT 您就可以消除重複,並且只看到獨一無二的產品識別碼:

USE AdventureWorks2008R2;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory ;

此查詢將傳回 432 個資料列。

重要事項重要事項

包含 DISTINCT 的陳述式其輸出結果依套用 DISTINCT 的資料行或運算式的定序 (Collation) 而定。

對於 DISTINCT 關鍵字而言,Null 值會被視為彼此重複。當 SELECT 陳述式包含 DISTINCT 時,不論遇到的 null 值數量為何,結果都只會傳回一個 NULL。

[!附註]

為了與 ISO 標準以及 SQL Server 的其他實作相容,ALL 關鍵字可以明確要求所有資料列。但是,由於 ALL 是預設值,因此不需指定。

請參閱

參考