当前位置 : 主页 > 数据库 > mysql >

MySQL过滤重复数据的两种方法示例

来源:互联网 收集:自由互联 发布时间:2023-05-14
目录 方法1:加关键字 DISTINCT 方法2:用GROUP By 分组 最后 方法1:加关键字 DISTINCT 在mysql中,可以利用SELECT语句和DISTINCT关键字来进行去重查询,过滤掉重复的数据,语法SELECT DISTINCT 字段
目录
  • 方法1:加关键字 DISTINCT
  • 方法2:用GROUP By 分组
  • 最后

方法1:加关键字 DISTINCT

在mysql中,可以利用“SELECT”语句和“DISTINCT”关键字来进行去重查询,过滤掉重复的数据,语法“SELECT DISTINCT 字段名 FROM 数据表名;”。

DISTINCT 关键字的语法格式为:

SELECT DISTINCT <字段名> FROM <表名>;

其中,“字段名”为需要消除重复记录的字段名称,多个字段时用逗号隔开。

示例

-- 示例1
SELECT DISTINCT name FROM Product WHERE price>100;

-- 示例2
SELECT DISTINCT name,age FROM student;

使用 DISTINCT 关键字时需要注意以下几点:

  • DISTINCT 关键字只能在 SELECT 语句中使用。
  • 在对一个或多个字段去重时,DISTINCT 关键字必须在所有字段的最前面。
  • 如果 DISTINCT 关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重。

在 MySQL 中使用SELECT语句执行简单的数据查询时,返回的是所有匹配的记录。如果表中的某些字段没有唯一性约束,那么这些字段就可能存在重复值。为了实现查询不重复的数据,MySQL 提供了DISTINCT关键字。

DISTINCT 关键字的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据给用户。

方法2:用GROUP By 分组

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面。

示例

-- GROUP By后面出现的属性并需在SELECT后面也出现
SELECT name FROM Product WHERE price<100 GROUP By name;

最后

到此这篇关于MySQL过滤重复数据的两种方法的文章就介绍到这了,更多相关MySQL过滤重复数据内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

网友评论