如何用distinct消除重复记录的同时又能选取多个字段值?

如何用distinct消除重复记录的同时又能选取多个字段值?

需求是:我要消除name字段值重复的记录,同时又要得到id字段的值,其中id是自增字段。 
select distinct name from t1 能消除重复记录,但只能取一个字段,现在要同时取id,name这2个字段的值。 
select distinct id,name from t1 可以取多个字段,但只能消除这2个字段值全部相同的记录 
最后解决方法: 
SELECT id,name FROM t1 WHERE id IN(SELECT MAX(id) FROM t1 GROUP BY name) order by id desc

注意开头的 id 的 一定要,后面的order by 里有的字段一定要加进select 结果,要不然排序无效


你可能感兴趣的:(数据库)