SQL 中使用 DISTINCT 去重有两种方法:SELECT DISTINCT:仅保留指定列的唯一值,保持原始表顺序。GROUP BY:保留分组键的唯一值,重新排序表中行。

SQL 中使用 DISTINCT 去重的两种方法
在 SQL 中,DISTINCT 运算符用于从结果集中删除重复的行,仅保留唯一值。有两种方法可以使用 DISTINCT 去重:
方法 1:使用 SELECT DISTINCT
此方法通过在 SELECT 语句中使用 DISTINCT 来实现去重。语法如下:
SELECT DISTINCT 列名1, 列名2, ... FROM 表名;
例如:
SELECT DISTINCT 姓名, 年龄 FROM 学生;
此查询将返回一张含有唯一姓名和年龄组合的新表。
方法 2:使用 GROUP BY
此方法通过使用 GROUP BY 子句来实现去重。语法如下:
在整本书中我们所涉及许多的Flex框架源码,但为了简洁,我们不总是显示所指的代码。当你阅读这本书时,要求你打开Flex Builder,或能够访问Flex3框架的源码,跟随着我们所讨论源码是怎么工作及为什么这样做。 如果你跟着阅读源码,请注意,我们经常跳过功能或者具体的代码,以便我们可以对应当前的主题。这样能防止我们远离当前的主题,主要是讲解代码的微妙之处。这并不是说那些代码的作用不重要,而是那些代码处理特别的案例,防止潜在的错误或在生命周期的后面来处理,只是我们当前没有讨论它。有需要的朋友可以下载看看
SELECT 列名1, 列名2, ... FROM 表名 GROUP BY 列名1, 列名2, ...;
例如:
SELECT 姓名, MIN(年龄) AS 最小年龄 FROM 学生 GROUP BY 姓名;
此查询将返回一张根据姓名分组且具有最小年龄的新表。由于姓名是分组键,因此新表中只有唯一的姓名。
两者之间的区别
DISTINCT 和 GROUP BY 的主要区别在于:
- DISTINCT 保留指定列的所有唯一值,而 GROUP BY 仅保留分组键的唯一值。
- DISTINCT 保留原始表的顺序,而 GROUP BY 重新排序表中的行。
在选择使用 DISTINCT 还是 GROUP BY 时,需要根据所要达到的特定结果来决定。









