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
相关推荐
m0_5967490913 小时前
Golang如何做Clean Architecture_Golang整洁架构教程【详解】
jvm·数据库·python
半夜修仙13 小时前
Redis入门
数据库·redis·缓存
KaMeidebaby13 小时前
卡梅德生物技术快报|单 B 细胞抗体筛选服务:技术架构、流程实现与数据验证
前端·数据库·其他·百度·新浪微博
2401_8676239813 小时前
如何管理应用锁_DBMS_LOCK申请自定义锁控制并发逻辑
jvm·数据库·python
yzs8713 小时前
SQL Sever Pragmatic Bitmap过滤技术解析
数据库·sql
woxihuan12345613 小时前
SQL数据分析如何剔除极端异常值_配合窗口函数检测偏离度
jvm·数据库·python
2303_8212873814 小时前
Go 中通过指针实现变量名的“间接引用”与原地修改
jvm·数据库·python
ClouGence14 小时前
TiCDC 够用吗?聊聊 TiDB 同步的几个关键问题
数据库·分布式·后端
iuvtsrt14 小时前
SQL如何高效提取大表前几行:分页查询与OFFSET优化
jvm·数据库·python
彳亍10114 小时前
如何用 Dask 替代 Pandas 实现高效 Excel 数据处理
jvm·数据库·python