oracle查询出表中某几个字段值不唯一的数据

假设有一张学生表,建表语句如下:

复制代码
--学生 student表
create table student(
sno varchar2(10) primary key,
sname varchar2(20),
sage number(2),
ssex varchar2(5),
birthday date
);

现计划创建唯一索引(sno,sname),由于数据录入失误导致这两列数据有重复数据,进而导致唯一索引创建失败。

因此我们需要先查询出表中这些捣乱的数据,并进行去重处理。

可使用如下语句查询重复数据:

复制代码
select T.*, T.ROWID
  from student  T
 where exists (select 1
          from student
         where sno = T.sno
           and sname = T.sname
           and ROWID != T.ROWID)

补充:

如果只是查询某一列的重复值(如:sno),语句更加简单,可以如下:

复制代码
select    t. *    from  student t , student tt  where  t.rowid != tt.rowid  and  t.sno = tt.sno
相关推荐
松涛和鸣10 分钟前
DAY49 DS18B20 Single-Wire Digital Temperature Acquisition
linux·服务器·网络·数据库·html
海边的Kurisu19 分钟前
苍穹外卖日记 | Day3 公共字段填充、菜品模块
数据库
摆烂z25 分钟前
mysql通过binlog恢复数据
数据库·mysql
老邓计算机毕设40 分钟前
SSM学期分析与学习行为分析系统c8322(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·学习·ssm 框架·学期分析·学习行为分析
学Linux的语莫1 小时前
python创建redis连接池
数据库·redis·缓存
运维有小邓@1 小时前
Log360 的可扩展架构(三):数据流管道
数据库·架构
醇氧1 小时前
【Windows】安装mysql8
数据库·windows·mysql
温暖小土1 小时前
ClickHouse vs Apache Doris:2026年实时OLAP数据库选型深度解析
数据库·数据仓库·clickhouse·apache
专注数据的痴汉1 小时前
「数据获取」全国民用运输机场吞吐量排名(2006-2024)
java·大数据·服务器·数据库·信息可视化
海边的椰子树1 小时前
非常方便的MySQL迁移数据ClickHouse工具
数据库·mysql·clickhouse·迁移