mysql中去除重复字段-distinct

1、注意事项

使用distinct命令时需要放在查询条件的开头,否则会报错。如果需要查询的项目很多但只针对某一个字段使用distinct的,则可以利用内容拼接的方式来实现。

 

--基本查询

SELECT DISTINCT `name` from users;

--显示结果

name

张三

李四

王五

赵六

 

--多表查询

SELECT DISTINCT name,age FROM users;

--显示结果(此处distinct的条件是name和age两个字段,也就是只有两个都重复了才进行筛选。)

--此处去除了李四 | 21

name | age

张三  | 20

李四  | 21

王五  | 21

赵六  | 20

张三  | 22

 

--在count中使用distinct

SELECT count(DISTINCT name,age) FROM users;

--显示结果

5

 

--如果只处理name字段,但是查询显示name和age,则建议使用GROUP BY命令

--(单用distinct不好实现)

SELECT name, age FROM users GROUP BY name;

--显示结果

name | age

张三  | 20

李四  | 21

王五  | 21

赵六  | 20

--!!注意:如果SQL语句还有limit,order by等条件,必须放在group by后面。

 

posted @ 2018-11-01 11:21  panchanggui  阅读(17051)  评论(0编辑  收藏  举报