mysql的distinct用法-mysql中如何筛选出非重复的数据
2016-11-07 15:59
399 查看
mysql的distinct用法-mysql中如何筛选出非重复的数据
mysql的distinct用法-mysql中如何筛选出非重复的数据 使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段 下面先来看看
例子: table id name 1 a 2 b 3 c 4 c 5 b
比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。
select distinct name from table得到的结果是: name a b c好像达到效果了,
可是,我想要得到的是id值呢?改一下查询语句吧:
select distinct name, id from table
结果会是:
id name 1 a 2 b 3 c 4 c 5 b
试了半天,也不行,最后在mysql手册里找到一个用法,
用group_concat(distinct name)group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组
配合group by name实现了我所需要的功能 5.0才支持的. 突然灵机一闪,既然可以使用group_concat函数,那其它函数能行吗? 赶紧用count函数一试,成功, 现在将完整语句放出:
select *, count(distinct name) from table group by name
结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1
再顺便说一句,group by 必须放在 order by 和 limit之前,不然会报错。。。OK了
mysql的distinct用法-mysql中如何筛选出非重复的数据 使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段 下面先来看看
例子: table id name 1 a 2 b 3 c 4 c 5 b
比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。
select distinct name from table得到的结果是: name a b c好像达到效果了,
可是,我想要得到的是id值呢?改一下查询语句吧:
select distinct name, id from table
结果会是:
id name 1 a 2 b 3 c 4 c 5 b
试了半天,也不行,最后在mysql手册里找到一个用法,
用group_concat(distinct name)group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组
配合group by name实现了我所需要的功能 5.0才支持的. 突然灵机一闪,既然可以使用group_concat函数,那其它函数能行吗? 赶紧用count函数一试,成功, 现在将完整语句放出:
select *, count(distinct name) from table group by name
结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1
再顺便说一句,group by 必须放在 order by 和 limit之前,不然会报错。。。OK了
相关文章推荐
- mysql的distinct用法-mysql中如何筛选出非重复的数据
- mysql的distinct用法-mysql中如何筛选出非重复的数据
- mysql的distinct用法-mysql中如何筛选出非重复的数据
- mysql的distinct用法-mysql中如何筛选出非重复的数据
- mysql的distinct用法-mysql中如何筛选出非重复的数据
- Mysql 如何删除数据表中的重复数据!
- mysql如何防止插入重复数据?
- MySQL去除查询结果重复值 distinct 的用法
- mysql 去除重复 Select中DISTINCT关键字的用法
- 如何避免mysql 主从同步中由于数据记录找不到和主键重复错误导致的同步异常问题
- MYSQL与Oracle如何处理重复数据的SQL
- mysql 去除重复 Select中DISTINCT关键字的用法
- mysql中如何判断指定字段的重复数据则不插入?
- mysql数据去重复distinct、group by
- MySQL Help 答朋友问:5000W记录的Innodb表如何快速的去重复数据
- mysql查询不重复的记录总数distinct用法
- sql语句:如何筛选重复数据
- DATATABLE中数据如何筛选重复数据
- MySQL Help 答朋友问:5000W记录的Innodb表如何快速的去重复数据
- mysql 的 distinct 去掉重复的数据