资讯专栏INFORMATION COLUMN

SQL查询和删除重复值

BDEEFE / 2937人阅读

如题,SQL查询和删除重复值,例子是在Oracle环境下,类似写法网上很多。
1、利用distinct关键字去重
2、利用group by分组去重(这里没有实验出来就不写了)
3、利用rowid查询去重(个人推荐这个,rowid查询速度是最快的)

先一张测试表(USERS),里面有很多重复数据

方法一:distinct关键字

/*对username字段去重*/
select distinct username from users;

/*根据字段去重,但是多个字段时候只能去全字段重复的数据*/
select distinct username,password from users;

方法二:用rowid方法进行全字段重复查询,也可以按字段查询重复值
注:先查询出最后一条的全字段重复值,在用rowid找出其他剩余的重复值

select * from users u01 where rowid!=
(
select max(rowid) from users u02 
where u01.username=u02.username and 
u01.password=u02.password and 
u01.age=u02.age and 
u01.sex=u02.sex
)

删除重复数据(这里删除的是全字段重复的数据,根据不同情况where后面条件适当修改)

delete from users u01 where rowid!=
(
select max(rowid) from users u02 
where u01.username=u02.username 
and u01.password=u02.password
and u01.age=u02.age 
and u01.sex=u02.sex
)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67771.html

相关文章

  • 数据库学习线路图

    摘要:数据库学习线路图语法教程教程简介语法选择查询子句与,或,非按关键字排序在表中插入空值更新删除运算符通配符运算符运算符通用数据类型语句快速参考连接内部连接左连接右连接完整外部连接自连接运算符语句语句撤销索引表以及数据库语句语句语句字 数据库学习线路图 SQL 语法教程 SQL 教程 SQL 简介 SQL 语法 SQL Select选择 SQL SELECT DISTINCT S...

    tinna 评论0 收藏0

发表评论

0条评论

BDEEFE

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<