https://www.quanxiaoha.com/mysql/mysql-distinct.html

1\. 使用 DISTINCT 关键字

DISTINCT 关键字用于在查询结果中去除重复的行。它可以应用于单列或多列查询。

语法

SELECT DISTINCT column1, column2, ...
FROM table_name;

示例

假设有一个名为 employees 的表,包含以下数据:

+----+-----------+----------+
| id | first_name| last_name|
+----+-----------+----------+
| 1  | John      | Doe      |
| 2  | Jane      | Doe      |
| 3  | John      | Smith    |
| 4  | John      | Doe      |
+----+-----------+----------+

如果要查询去除重复的 first_name,可以使用以下语句:

SELECT DISTINCT first_name FROM employees;

结果:

+-----------+
| first_name|
+-----------+
| John      |
| Jane      |
+-----------+

如果要查询去除 first_namelast_name 的组合重复,使用以下语句:

SELECT DISTINCT first_name, last_name FROM employees;

结果:

+-----------+----------+
| first_name| last_name|
+-----------+----------+
| John      | Doe      |
| Jane      | Doe      |
| John      | Smith    |
+-----------+----------+

2\. 使用窗口函数去重

窗口函数可以用于复杂的去重需求,特别是需要保留特定列或需要根据某些条件进行去重时。

语法