Sql中distinct只作用于一个字段的方法


distinct的作用是去除重复记录,然而当需要对order by的结果进行distinct的时候,又必须将order by的字段加入到distinct中:

Sql中distinct只作用于一个字段的方法

而如果同时取2个字段的值,就只能消除这2个字段值全部相同的记录。

解决办法(假如要从按字段B降序排列的表中消除重复的字段A):

SELECT 字段A,字段B FROM 表 
WHERE 字段A IN(SELECT MAX(字段A) FROM 表 GROUP BY 字段B) 
order by 字段A desc

这样问题就解决了。

相关阅读 >>

“select 1 from table”什么意思

mysql命令实例汇总

实例讲解mysql 慢查询

oracle出现错误ora-00904: invalid identifier

sql提高查询效率的几点建议

php连接mssql方法汇总

mysql优化之如何写出高质量sql语句

sql更改字段类型

.net framework sql server 数据提供程序连接池

python如何解析复杂sql,实现数据库和表的提取的实例剖析

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...