📜  删除重复行 - SQL (1)

📅  最后修改于: 2023-12-03 14:50:21.275000             🧑  作者: Mango

删除重复行 - SQL

在数据处理中,删除重复行是一项常见的任务。在 SQL 中,我们可以使用 DISTINCT 关键字或者 GROUP BY 子句来实现这一功能。以下是具体的实现方法和示例代码。

使用 DISTINCT 关键字

DISTINCT 关键字用于返回不同的行。具体地,它会从查询结果中剔除重复的行。以下是使用 DISTINCT 删除重复行的示例代码:

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

其中,column1, column2 等为需要去重的列名,table_name 为需要去重的表名。例如,以下代码可以从名为 customers 的表中去重 City 列中的数据:

SELECT DISTINCT City
FROM customers;
使用 GROUP BY 子句

GROUP BY 子句用于根据一个或多个列对查询结果进行分组。与 DISTINCT 关键字不同的是,它会返回每个分组内的第一行数据。以下是使用 GROUP BY 删除重复行的示例代码:

SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...;

其中,column1, column2 等为需要去重的列名,table_name 为需要去重的表名。例如,以下代码可以从名为 orders 的表中去重 CustomerIDOrderDate 两列的数据:

SELECT CustomerID, OrderDate
FROM orders
GROUP BY CustomerID, OrderDate;

注意,使用 GROUP BY 子句时需要根据数据的实际情况选择合适的聚合函数来计算分组内的值。如果需要保留所有列的数据,则可以使用子查询或者临时表来实现。

以上是在 SQL 中删除重复行的两种常见方法。根据具体的数据需求和数据处理场景,选择适合的方法可以提高代码效率和可读性。