使用 DISTINCT 消除重複
DISTINCT 關鍵字將重複的資料列從 SELECT 陳述式的結果中消除。若未指定 DISTINCT 便傳回全部的資料列,包含重複的資料列。例如,如果您不使用 DISTINCT 而在 ProductInventory
中選取了所有產品識別碼,則會傳回 1069 個資料列。
使用 DISTINCT 您就可以消除重複,並且只看到獨一無二的產品識別碼:
USE AdventureWorks;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory
此查詢將傳回 432 個資料列。
重要事項: |
---|
包含 DISTINCT 的陳述式其輸出結果依套用 DISTINCT 的資料行或運算式的定序 (Collation) 而定。 |
對於 DISTINCT 關鍵字而言,Null 值會被視為彼此重複。當 SELECT 陳述式包含 DISTINCT 時,不論遇到的 Null 值數量為何,結果都只會傳回一個 NULL。
附註: |
---|
為了與 SQL-92 標準以及 Microsoft SQL Server 2005 的其他實作相容,ALL 關鍵字可以明確要求所有資料列。但是,由於 ALL 是預設值,因此不需指定。 |