在mysql中,distinct關鍵字用于過濾重復數據,它可以對數據表中一個或多個字段重復的數據進行過濾,只返回其中的一條數據給用戶;distinct關鍵字需要和SELECT語句一起使用,語法“SELECT DISTINCT column1, column2, … FROM table_name; ”。

程序員必備接口測試調試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設計、調試、文檔、自動化測試工具
后端、前端、測試,同時在線協作,內容實時同步
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
在 MySQL 中使用 SELECT 語句執行簡單的數據查詢時,返回的是所有匹配的記錄。如果表中的某些字段沒有唯一性約束,那么這些字段就可能存在重復值。為了實現查詢不重復的數據,MySQL 提供了 DISTINCT 關鍵字。
DISTINCT 關鍵字的主要作用就是對數據表中一個或多個字段重復的數據進行過濾,只返回其中的一條數據給用戶。
DISTINCT 關鍵字的語法格式為:
SELECT DISTINCT column1, column2, ... FROM table_name;
其中,“column”為需要消除重復記錄的一個或多個字段名稱,多個字段時用逗號隔開。
使用 DISTINCT 關鍵字時需要注意以下幾點:
-
DISTINCT 關鍵字只能在 SELECT 語句中使用。
-
在對一個或多個字段去重時,DISTINCT 關鍵字必須在所有字段的最前面。
-
如果 DISTINCT 關鍵字后有多個字段,則會對多個字段進行組合去重,也就是說,只有多個字段組合起來完全是一樣的情況下才會被去重。
演示數據庫
以下是Northwind示例數據庫中“Customers”表的選擇:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constituciуn 2222 | Mйxico D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquerнa | Antonio Moreno | Mataderos 2312 | Mйxico D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbkцp | Christina Berglund | Berguvsvдgen 8 | Luleе | S-958 22 | Sweden |
沒有使用DISTINCT的SELECT實例
以下SQL語句從“Customers”表中的“Country”列中選擇ALL(包括重復項)值:
SELECT Country FROM Customers;

SELECT DISTINCT實例
1、僅從“Customers”表中的“Country”列中選擇DISTINCT值:
SELECT DISTINCT Country FROM Customers;

2、列出了不同 “Country” 的數量:
SELECT COUNT(DISTINCT Country) FROM Customers;

注意:上面的示例在Firefox和Microsoft Edge中不起作用!因為Microsoft Access數據庫不支持COUNT(DISTINCT column_name)。Firefox和Microsoft Edge在我們的示例中使用Microsoft Access。
【
站長資訊網