ROWNUM

ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。

范例:在查询雇员表上,加入 ROWNUM

SELECT ROWNUM,empno,ename,job,sal,hiredate FROM emp ;

从运行上看,ROWNUM 本身采用自动编号的形式出现。

假设只想显示前 5 条记录。条件中:ROWNUM<=5

SELECT ROWNUM,empno,ename,job,sal,hiredate
FROM emp WHERE ROWNUM<=5;

如果现在要想进行中间的截取操作,则只能采用子查询,例如现在假设每页显示 5 条,第 2 页应该显示 6~10 条,那么对于数据库操作来讲,它在查询的时候应该首先查询出 1~10 条,之后再在查询的结果中取出后 5 条。

SELECT *
FROM (SELECT ROWNUM rn,empno,ename,job,sal,hiredate
FROM emp WHERE ROWNUM<=10) temp
WHERE temp.rn>5;

ROWID

ROWID:数据库中行的全局唯一地址,ROWID使用base64编码行的物理地址,编码字符包含 A-Z, a-z, 0-9, +, 和 /

rowid由四部分组成:OOOOOOOFFFBBBBBBRRR:

OOOOOO:数据对象编号(6位显示)FFF:相关数据文件编号(3位显示)BBBBBB:数据块编号(6位显示)RRR:数据块中行编号(3位显示)

 ROWID可用于删除数据表中重复数据

select rowid, emp.* from emp;

添加重复数据

insert into emp select * from emp where empno=7369;

新添加的数据其ROWID比之前的数据ROWID大,所以可以使用MIN函数选出非重复数据的ROWID

select min(rowid) from emp group by empno, ename,job,mgr,hiredate,sal,comm,deptno

删除重复数据

delete from emp where rowid not in (
select min(rowid) from emp group by empno, ename,job,mgr,hiredate,sal,comm,deptno
);

再查看全部数据,重复数据已删除

 

  • 经典的删除重复数据
DELETE FROM EMP E
WHERE E.ROWID != (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMPNO = E.EMPNO);

  •   ROWNUM主要用于服务器分页
  •   ROWID可用于删除重复数据

最新文章

  1. ASP.NET MVC——Razor视图引擎
  2. div+css:div中图片垂直居中
  3. Android中Context的理解及使用(二)——Application的用途和生命周期
  4. Python ToDo List
  5. JS 实现&quot;可读&quot;字符串转换成&quot;二进制的01&quot;字符串
  6. python安装使用talib
  7. Space.js – HTML 驱动的页面 3D 滚动效果
  8. 数据库sqlserver2008登陆名密码登陆不了怎么办?
  9. php基础33:正则匹配-perl
  10. Multi-Device Hybrid Apps for Visual Studio CTP2.0
  11. 为什么要在&lt;button&gt;元素中添加type属性
  12. Monad学习
  13. depcomp: line 571: exec: g++: not found
  14. TCP/IP(八)之总结ICP/IP四层模型
  15. Mego开发文档 - 处理并发冲突
  16. 字节转化为结构体BytesToStruct
  17. 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt
  18. Vux使用经验
  19. POJ 1001 Exponentiation(大数运算)
  20. 纯js实现文件下载并重命名功能

热门文章

  1. Cocos2d-x 3.3Bate0 ExpandedListView
  2. iOS7中弹簧式列表的制作
  3. iOS-常用宏定义
  4. linux jdk 6 版本下载
  5. 《JAVA多线程编程核心技术》 笔记:第一章
  6. Java版接口自动化--初稿
  7. HDU 5157 Harry and magic string(回文树)
  8. Oracle存储——逻辑结构
  9. 微信支付 统一订单 $order = WxPayApi::unifiedOrder($input); 断点调试
  10. 亚马逊 MWS 开发者指南 漏桶算法