博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL语句技巧之去除重复行
阅读量:7058 次
发布时间:2019-06-28

本文共 538 字,大约阅读时间需要 1 分钟。

去除表中重复行数据,可能大家立马就想到的是用DISINTCT关键字,但DISINTCT只能是去除表中所有列都相同的行,若碰到需要去除表中多个字段重复的行(即:部份相同,部份不相同),那么该如何做呢?我通过多年数据库编写经验,整理了如下方法,供大家参考和使用。

方法1:适用于返回较少字段

select F1,F2,F3,MAX(F4) FROM TABLENAME GROUP BY F1,F2,F3

方法2:适用于返回行所有字段,需指定不相同的字段

select * FROM TABLENAME T where F4=(select MAX(F4) from TABLENAME where T.F1=F1 and T.F2=F2 and T.F3=F3)

方法3:适用于返回行所有字段,需指定不相同的字段【找出需要去除的行】

SELECT T1.* FROM TABLENAME AS T1,(SELECT F1,F2
,MAX(F3) AS F3 FROM TABLENAME GROUP BY F1,F2 HAVING COUNT(*)>1) AS T2
WHERE
T1.F3<T2.F3 AND T1.F1=T2.F1 AND T1.F2=T2.F2

原文地址:

转载地址:http://ovrol.baihongyu.com/

你可能感兴趣的文章
C# Dictionary.Add(key,"123") 与 Dictionary[key]="123"的区别
查看>>
HTC G11短信为什么对单独一个人发不出去??!!!!跪求解啊!!!!
查看>>
【转载】NuGet 是个什么玩意?
查看>>
j2ee学习 +“云"未来
查看>>
java-信息安全(七)-基于非对称加密,对称加密等理解HTTPS
查看>>
LINUX-内核-中断分析-中断向量表(3)-arm【转】
查看>>
ES6 对Number的扩展
查看>>
go基础系列:数组
查看>>
算法导论-14.1-8
查看>>
JDK、JRE、JVM之间的关系
查看>>
数据结构之二叉排序树数组,链表实现
查看>>
内存, 硬盘, CPU是拿什么材料制作的? 电子管, 晶体管与计算机硬件的发展史.
查看>>
数据库备份 恢复
查看>>
Jmeter
查看>>
Automatic Truncation of Virtual Log Files(VLFs的自动截断)
查看>>
[Z]寻找第K大的数的方法总结
查看>>
javascript一些常用代码块
查看>>
利用EntityFramework获得双色球数据库
查看>>
IOS4.0与5.0解决键盘的冲突
查看>>
mongo-mapreduce测试(10)——阶段总结(2)
查看>>