SQL去重

在数据库操作中,经常会遇到需要去重的需求。去重是指在一个数据集中,排除重复的数据,只保留不重复的数据。在SQL中,我们可以使用不同的方法来实现去重操作,本文将详解几种常见的SQL去重方法。
一、使用DISTINCT关键字去重
最简单的方法就是使用DISTINCT关键字去重。DISTINCT用于消除SELECT语句返回结果中的重复行,只保留唯一的行。
语法格式
SELECT DISTINCT column1, column2, ...
FROM table_name;
示例
假设我们有一个名为employee的表,包含以下数据:
| id | name | age |
|---|---|---|
| 1 | Alice | 25 |
| 2 | Bob | 30 |
| 3 | Alice | 25 |
| 4 | Kate | 35 |
| 5 | Bob | 30 |
我们希望通过name和age字段对数据进行去重。
SELECT DISTINCT name, age
FROM employee;
运行结果:
| name | age |
|---|---|
| Alice | 25 |
| Bob | 30 |
| Kate | 35 |
二、使用GROUP BY去重
除了使用DISTINCT关键字,我们还可以使用GROUP BY语句进行去重操作。GROUP BY用于将结果集按照一个或多个列进行分组,并对每个分组进行计算、聚合等操作。
语法格式
SELECT column1, column2, ..., aggregate_function(column)
FROM table_name
GROUP BY column1, column2, ...;
示例
我们仍然使用上述的employee表作为示例,通过name和age字段对数据进行去重,可以使用GROUP BY语句:
SELECT name, age
FROM employee
GROUP BY name, age;
极客笔记