SELECT DISTINCT (SQL SELECT DISTINCT Statement)

一個資料表的某欄位中可能會有多個紀錄都是相同值的情況,在 SELECT 查詢語句中我們可使用 DISTINCT 關鍵字過濾重複出現的紀錄值。

SELECT DISTINCT 語法 (SELECT DISTINCT Syntax)

SELECT DISTINCT table_column1, table_column2...
FROM table_name;

SELECT DISTINCT 查詢用法 (Example)

假設我們想從下面的 customers 資料表中查詢顧客分佈在哪幾個縣市:

C_IdNameCityAddressPhone
1張一台北市XX路100號02-12345678
2王二新竹縣YY路200號03-12345678
3李三高雄縣ZZ路300號07-12345678
4陳四台北市AA路400號02-87654321

我們可以下這個 SELECT 查詢敘述句:

SELECT DISTINCT City FROM customers;

返回的結果如下:

City
台北市
新竹縣
高雄縣

原本資料表的 City 欄位中有兩個重複值台北市,可是我們只想知道有哪幾個縣市有顧客而已,故我們使用 DISTINCT 關鍵字來限制僅取出欄位中 "不相同" 的值。

若接著 SELECT DISTINCT 後面有指定兩個以上的欄位,則要符合所有欄位值皆同樣重複的情況下該筆資料才會被捨棄。若只有其中一個欄位值相同但其它欄位值並不同,則仍會取出該筆資料。