在 SQL 中查找不重复记录是一个常见的任务,可以通过使用 DISTINCT
关键字来实现。DISTINCT
关键字用于从结果集中删除重复的行,只保留每一行的唯一值。
使用 DISTINCT 查询不重复记录
要使用 DISTINCT
关键字,只需将它放在 SELECT
子句中列名之前。例如,以下查询查找表中所有不重复的 name
列值:
SELECT DISTINCT name
FROM table_name;
执行此查询将返回一个结果集,其中只包含 name
列的不重复值。
使用 GROUP BY 查询不重复记录
另一种查找不重复记录的 是使用 GROUP BY
子句。GROUP BY
子句用于将结果集按指定列分组,然后只返回每个组的第一行。例如,以下查询查找表中所有不重复的 name
列值,并按 city
列分组:
SELECT name, city
FROM table_name
GROUP BY city;
执行此查询将返回一个结果集,其中只包含 name
列的不重复值,但同时还返回了相应的 city
列值。
使用 UNION 查询不重复记录
在某些情况下,您可能需要从多个表中查找不重复记录。您可以使用 UNION
运算符将来自多个表的查询结果合并在一起,并自动删除重复行。例如,以下查询查找两个表(table1
和 table2
)中所有不重复的 name
列值:
SELECT DISTINCT name
FROM table1
UNION
SELECT DISTINCT name
FROM table2;
执行此查询将返回一个结果集,其中只包含两个表中所有不重复的 name
列值。
使用 DISTINCT
关键字、GROUP BY
子句或 UNION
运算符,可以在 SQL 中轻松找到不重复记录。了解这些技术对于优化您的查询并获得准确的结果至关重要。