前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >SQL查询和删除重复值的操作方法

SQL查询和删除重复值的操作方法

原创
作者头像
用户8965210
修改2021-09-01 09:47:43
修改2021-09-01 09:47:43
2.2K00
代码可运行
举报
文章被收录于专栏:运维技术分享运维技术分享
运行总次数:0
代码可运行

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

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

方法一:distinct关键字

代码语言:javascript
代码运行次数:0
复制
/*对username字段去重*/
select distinct username from users;

代码语言:javascript
代码运行次数:0
复制
/*根据字段去重,但是多个字段时候只能去全字段重复的数据*/
select distinct username,password from users;

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

代码语言:javascript
代码运行次数:0
复制
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后面条件适当修改)

代码语言:javascript
代码运行次数:0
复制
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
)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档