去重可以采用两种方法: DISTINCT和 GROUP BY
DISTINCT
有如下的一张表:

1  | select distinct name from A  | 
执行后结果如下:

1  | select distinct name, id from A  | 

这样是同时匹配 name 和 id,也就是说,只有 name
和 id 都相同才会被去重.
GROUP BY
1  | SELECT id FROM t1 GROUP BY t1.id WHERE t1.name = "test_name"  | 
这样可以将 t1 的数据按照 id 来分组,根据 where 条件查询,并返回分组第一条的 id,
如果要返回每个分组里面最大的 id,可以借助 max 函数:
1  | SELECT max(id) FROM t1 GROUP BY t1.id WHERE t1.name = "test_name"  | 
需要注意的是,id 的数据类型不能是 varchar类型,最好是int等.