distinct的作用是去除重复记录,然而当需要对order by的结果进行distinct的时候,又必须将order by的字段加入到distinct中:
而如果同时取2个字段的值,就只能消除这2个字段值全部相同的记录。
解决办法(假如要从按字段B降序排列的表中消除重复的字段A):
SELECT 字段A,字段B FROM 表 WHERE 字段A IN(SELECT MAX(字段A) FROM 表 GROUP BY 字段B) order by 字段A desc
这样问题就解决了。