在MySQL中,要對查詢結果進行去重,您可以使用`DISTINCT`關鍵字或`GROUP BY`子句。以下是這兩種方法的示例:
1、使用`DISTINCT`關鍵字
`DISTINCT`關鍵字用于從查詢結果中刪除重復的行。要使用`DISTINCT`關鍵字,只需在`SELECT`語句中添加`DISTINCT`關鍵字,然后指定要去重的列名。例如,要從`employees`表中查詢不重復的`department_id`,您可以執行以下SQL語句:
```sql
SELECT DISTINCT department_id FROM employees;
```
這將返回`employees`表中所有不重復的`department_id`值。
2、使用`GROUP BY`子句
`GROUP BY`子句用于對查詢結果進行分組,以便對每個分組應用聚合函數(如`COUNT()`、`SUM()`等)。要使用`GROUP BY`子句,請在`SELECT`語句中添加`GROUP BY`子句,并指定要分組的列名。例如,要從`employees`表中查詢每個`department_id`的員工數量,您可以執行以下SQL語句:
```sql
SELECT department_id, COUNT(*) as employee_count FROM employees GROUP BY department_id;
```
這將返回每個`department_id`及其對應的員工數量。由于`GROUP BY`子句會對結果進行分組,因此每個`department_id`只會出現一次,從而實現了去重的效果。
這兩種方法都可以用于去除查詢結果中的重復行。選擇哪種方法取決于您的具體需求和查詢目標。在某些情況下,使用`GROUP BY`子句可能更靈活,因為它允許您對分組后的數據應用聚合函數。然而,在簡單的去重場景中,`DISTINCT`關鍵字通常更簡單、更直接。