📅  最后修改于: 2023-12-03 14:50:21.275000             🧑  作者: Mango
在数据处理中,删除重复行是一项常见的任务。在 SQL 中,我们可以使用 DISTINCT
关键字或者 GROUP BY
子句来实现这一功能。以下是具体的实现方法和示例代码。
DISTINCT
关键字用于返回不同的行。具体地,它会从查询结果中剔除重复的行。以下是使用 DISTINCT
删除重复行的示例代码:
SELECT DISTINCT column1, column2, ...
FROM table_name;
其中,column1
, column2
等为需要去重的列名,table_name
为需要去重的表名。例如,以下代码可以从名为 customers
的表中去重 City
列中的数据:
SELECT DISTINCT City
FROM customers;
GROUP BY
子句用于根据一个或多个列对查询结果进行分组。与 DISTINCT
关键字不同的是,它会返回每个分组内的第一行数据。以下是使用 GROUP BY
删除重复行的示例代码:
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...;
其中,column1
, column2
等为需要去重的列名,table_name
为需要去重的表名。例如,以下代码可以从名为 orders
的表中去重 CustomerID
和 OrderDate
两列的数据:
SELECT CustomerID, OrderDate
FROM orders
GROUP BY CustomerID, OrderDate;
注意,使用 GROUP BY
子句时需要根据数据的实际情况选择合适的聚合函数来计算分组内的值。如果需要保留所有列的数据,则可以使用子查询或者临时表来实现。
以上是在 SQL 中删除重复行的两种常见方法。根据具体的数据需求和数据处理场景,选择适合的方法可以提高代码效率和可读性。