📅  最后修改于: 2023-12-03 15:38:37.924000             🧑  作者: Mango
在SQL中,有时我们需要在数据库表中查询不重复的行,也就是去重操作。下面我们将介绍在SQL中如何进行去重操作的方法。
DISTINCT关键字用于在SELECT语句中去除重复的行。
SELECT DISTINCT 列名 FROM 表名;
例如,我们有一张员工表employee,其中包含name和age两列数据,现在需要查询不重复的age列数据,可以使用以下语句:
SELECT DISTINCT age FROM employee;
注意,DISTINCT关键字既可以用于单列去重,也可以用于多列去重,如下所示:
SELECT DISTINCT 列名1,列名2 FROM 表名;
GROUP BY语句用于对查询结果进行分组,可以实现对每个分组内的数据进行去重操作。
SELECT 列名 FROM 表名 GROUP BY 列名;
例如,我们有一张订单表order,其中包含orderId和customerId两列数据,现在需要查询每个customerId对应的orderId列表,且去重,可以使用以下语句:
SELECT orderId FROM order GROUP BY customerId;
HAVING语句用于对GROUP BY语句的分组结果进行筛选,可以筛选出满足条件的分组结果。
SELECT 列名 FROM 表名 GROUP BY 列名 HAVING 条件;
例如,我们有一张销售表sales,其中包含productId和salesVolume两列数据,现在需要查询每个productId对应的销售总量大于100的数据,且去重,可以使用以下语句:
SELECT productId,SUM(salesVolume) AS totalVolume FROM sales GROUP BY productId HAVING totalVolume>100;
以上就是在SQL中查询没有重复的行的方法,希望能够对大家有所帮助。