MySQL查询:从某个字段中去重(mysql去重某个字段)

MySQL查询允许用户从某个字段(如name)中去重查询结果记录。要将重复记录查出后对它们进行去重,可以使用 SQL 里的 distinct 关键字。该关键字指定查询结果只显示其字段唯一的记录。distinct 关键字的使用比较简单,只要在要查询的字段前添加 distinct,语句如下:

select distinct name from user;

distinct 关键字后面也可以跟着多个字段,比如:

select distinct name, age from user;

在上面语句中,name 字段和 age 字段的组合只会显示一次,即去除重复的记录。

MySQL 也可以使用 group by 关键字来达到去重的目的,但其使用有点复杂,尤其是有多个字段的情况。具体使用方式是在查询语句里用 group by 子句把要去重的字段添加到里面,如:

select name, age from user group by name;

上面的语句表示该查询只会显示name字段不重复的记录结果,data 字段后面重复的记录会被查询过滤掉。

最后还有一种较简单的去重方法,就是用 MyQL 的临时表,可以先创建一个临时表,然后将其中的数据插入一条条来,如:

create temporary table tt as 
select name, age from user;

insert into tt select distinct name, age from user;

上面两条语句会将表 user 中的数据插入到临时表 tt 里,此时临时表 tt 中的记录就没有任何重复数据了。

在 MySQL 上实现去重,可以根据实际的查询要求来采用上述不同的方法,以已有的表结构和记录情况,实现查询结果去重的目的。


数据运维技术 » MySQL查询:从某个字段中去重(mysql去重某个字段)