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

这样问题就解决了。

相关阅读 >>

mybatis直接执行sql的工具sqlmapper

sql 四大排名函数(row_number、rank、dense_rank、ntile)简介

怎么将sql文件导入navicat

navicat表怎么执行sql语句

asp.net2.0 sql server数据库连接详解

sql语句执行顺序优先级是什么?

c# sqlite数据库入门使用说明

mysql通过show status查看、explain分析优化数据库性能

navicat 连接sqlserver数据库(图文步骤)

数据库开发总结(ado.net小结)

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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