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
这样问题就解决了。
相关阅读 >>
mysql和oracle的区别小结(功能性能、选择、使用它们时的sql等对比)
更多相关阅读请进入《sql》频道 >>
![数据库系统概念 第6版](https://img.alicdn.com/i2/2212441376301/O1CN01Qk4ScQ1wPuPnp4G1s_!!0-item_pic.jpg)
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。