Mysql 去重

有 tb 表,表数据如下:

id name age time
1 张三 20 2012-12-12
2 李四 22 2013-01-12
3 王五 22 2014-04-23
4 张三 20 2014-04-22
5 张三 20 2011-12-12
6 李四 22 2015-01-12

 

 

问题1:获取数据 name ,age 并把 name字段去除重复
答:
select distinct name,age from tb;
查询出的结果为
name age
张三 20
李四 22
王五 22


问题2:想把 id,name,age,time 字段查出,并用 name 字段去除重复

答:这时用 distinct 就不行了,用如下语句
select * from tb as a where id=(select id from tb where a.name=name limit 0,1)

这个方法是可以,但数量特别大的时候,很费时间,不是一个好的选择

用 group by 会很好

select * from tb group by name

posted on 2016-04-25 12:48  沈恩忍  阅读(250)  评论(0编辑  收藏  举报

导航