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 子句来实现去重。语法如下:
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 时,需要根据所要达到的特定结果来决定。
以上就是sql去重distinct怎么用的详细内容,更多请关注CTO智库其它相关文章!