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
相关推荐
lhbian1 分钟前
开启mysql的binlog日志
数据库·mysql
NineData2 分钟前
从个人开发到企业专属集群,NineData 的产品矩阵怎么做的?
运维·数据库·程序员
2301_816651222 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
实心儿儿16 分钟前
C++ —— AVL树实现
数据库
m0_518019481 小时前
使用Kivy开发跨平台的移动应用
jvm·数据库·python
weixin_421922692 小时前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
Fortune792 小时前
Python迭代器(Iterator)揭秘:for循环背后的故事
jvm·数据库·python
cm6543202 小时前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
无心水2 小时前
时间处理工程落地指南:数据库/日志/API/定时任务
java·大数据·数据库·日志·分布式架构·utc·gmt
2401_846341652 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python