SQL 中的 DISTINCT 關鍵字用於從查詢結果集中刪除重複行。它確保查詢僅傳回指定列的唯一記錄。
當 SELECT 查詢檢索資料時,輸出中可能存在重複行。透過新增 DISTINCT 關鍵字,SQL 會過濾掉這些重複項,只保留指定列中每個唯一值組合的出現一次。
SELECT DISTINCT column1, column2, ... FROM table_name;
考慮一張桌子員工:
EmployeeID | Department |
---|---|
1 | HR |
2 | IT |
3 | HR |
4 | Sales |
查詢:
SELECT DISTINCT Department FROM Employees;
Department |
---|
HR |
IT |
Sales |
此處,部門列中的重複項已被刪除。
OrderID | CustomerID | ProductID |
---|---|---|
101 | 1 | A |
102 | 1 | B |
103 | 1 | A |
104 | 2 | C |
查詢:
SELECT DISTINCT CustomerID, ProductID FROM Orders;
CustomerID | ProductID |
---|---|
1 | A |
1 | B |
2 | C |
這裡,DISTINCT 根據 CustomerID 和 ProductID 的組合過濾掉重複的行。
尋找獨特的價值:
當您想知道一列或列組合中的所有唯一值時。
範例:列出庫存中所有不同的產品類別。
消除冗餘:
當分析或報告不需要結果集中的重複行時。
範例:從員工資料庫中取得唯一的部門名稱。
用於資料清理:
透過刪除重複項來幫助準備乾淨的資料集。
效能影響:
使用 DISTINCT 會減慢查詢速度,尤其是在大型資料集上,因為 SQL 必須掃描和比較行以過濾重複項。
不適用於條件重複資料刪除:
如果您想要條件重複資料刪除(例如,為每個唯一值保留最新行),您需要其他技術,例如 ROW_NUMBER()。
DISTINCT 關鍵字是一個簡單且強大的工具,用於消除 SQL 查詢結果中的重複行。它確保您的輸出僅包含唯一值,使其成為資料報告和分析任務的理想選擇。但是,請明智地使用它來平衡性能和準確性。
以上是掌握 SQL DISTINCT:刪除重複變簡單的詳細內容。更多資訊請關注PHP中文網其他相關文章!