博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle数据库查询和取出表中重复记录
阅读量:5834 次
发布时间:2019-06-18

本文共 851 字,大约阅读时间需要 2 分钟。

      要想处理Oracle数据库查询和取出表中重复记录,需要先了解ROWID---伪列。

      ROWID 是一种数据类型,他是用基于64位编码的18个字符来唯一标识一条记录的物理位置的一个ID,类似于表的主键,ROWID一般情况是按照递增的顺序排序的,默认情况下

索引也是按照ROWID的顺序来显示的,所以对于完全相同的两条记录,结果会按照ROWID的顺序来进行排序。

     ROWID可以被查询,例如:select rowid,a.* from emp a.

     这次主要是利用ROWID来进行重复数据的处理,所以ROWID不做过于详细的介绍,下面说下利用ROWID处理重复数据。

     假设emp表存储如下:

     IDNO   NAME   SEX  AGE

     1101    Sherry      1        25

     1102    Nancy      1        26

     1101    Sherry      1        25

查询重复记录SQL如下:

   select  *

   from     emp a
   where (rowid,a.IDNO) not in (select max(rowid),a.IDNO
                                                 from emp a
                                                 group by a.IDNO)

sql解读:红色字体会查询出来不重复的记录,那么关联外面的,rowid不在后面结果集的,即重复记录。

     可以自己扩展,比如我要去除重复记录ROWID最大或者最小的值等等,了解远原理之后,变形SQL即可。

     另外可以看下下面的SQL

      select gv.idno, gv.name

      from dept fg,
                         (select g.idno, g.name
                          from emp g
                         where (rowid, g.idno) in
                                                                (select max(rowid), t.idno
                                                                 from emp t    
                                                                 group by t.policy_code)

                         ) gv

      where fg.idno=gv.idno
      and fg.deptno='001'

转载于:https://www.cnblogs.com/liyunzhouts/p/9202823.html

你可能感兴趣的文章
android大概是通过logcat拦截Log
查看>>
android HDMI 清晰度 分辨率
查看>>
Codeforces 480C Riding in a Lift dp
查看>>
JQuery发送Put、Delete请求 - 摘自网络
查看>>
Android基于mAppWidget实现手绘地图(九)–如何处理地图对象的touch事件
查看>>
OCP解决问题052-- DROP PROFILE app_user
查看>>
ContentProvider的一些总结
查看>>
关于codeMirror插件使用的一个坑
查看>>
chrome插件演示,经js转让chrome api清除浏览器缓存
查看>>
瞎子摸象与刻舟求剑
查看>>
多个相同name的文本输入框,输入其中一个后,使剩下的不能输入值
查看>>
cocos2d-x于android在call to OpenGL ES API with no current context
查看>>
CentOS升级git
查看>>
HTTP必知必会(转)
查看>>
c c++ 函数入口和出口的hook(gcc 编译选项),然后打印出函数调用关系的方法
查看>>
全局唯一标识符(GUID)
查看>>
android插件技术-apkplug于OSGI服务基础-08
查看>>
iOS9下App Store新应用提审攻略
查看>>
【转】学习JAVA的步骤
查看>>
C# 内存法图像处理
查看>>