钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读862647
首页 SQL 正文内容

sql结果怎么去掉重复

钟逸 SQL 2025-06-21 00:14:17 2

在处理SQL查询结果时,经常需要对数据进行去重处理,即去掉重复的数据。SQL中提供了一个DISTINCT关键字,专门用于过滤重复数据。

DISTINCT关键字用于在查询结果中过滤重复的记录。它将返回一组不重复的行,其中每行都包含查询中指定列的不同值。例如,以下查询将返回表"customer"中所有不重复的"name"列值:

sql

SELECT DISTINCT name FROM customer;

GROUP BY子句

除了DISTINCT关键字外,还可以使用GROUP BY子句与聚合函数结合来去掉重复数据。例如,以下查询将返回按"name"列分组的表"customer"中,每个组中"name"列的出现次数:

sql

SELECT name, COUNT(*) AS count FROM customer GROUP BY name;

用ROW_NUMBER()函数

ROW_NUMBER()函数是一个窗口函数,用于为每个组中的行分配唯一的行号。它可以用来实现类似于DISTINCT关键字的功能。例如,以下查询将返回表"customer"中所有不重复的"name"列值:

sql

SELECT name FROM (SELECT name, ROW_NUMBER() OVER (PARTITION BY name ORDER BY name) AS row_num FROM customer) AS subquery WHERE row_num = 1;

文章目录
    搜索