【SQL】Oracle分页查询的三种方法

采用伪列 rownum

查询前10条记录

1
2
3
4
5
6
7
8
9
10
11
[sql]
select * from t_user t where ROWNUM <10; 
按照学生ID排名,抓取前三条记录
[java]
SELECT * FROM(SELECT id,realname FROM T_USER ORDER BY id asc ) WHERE ROWNUM <=3 
分页SQL写法,从第10条记录开始,提取10条记录。
[java]
SELECT * FROM (SELECT ROWNUM rn,id,realname FROM (SELECT id,realname FROM T_USER)WHERE ROWNUM<=20) t2 WHERE T2.rn >=10; 
按照学生ID排名,从第10条记录开始,提取10条记录。
[sql]
SELECT * FROM (SELECT ROWNUM rn,id,realname FROM (SELECT id,realname FROM T_USER ORDER BY id asc)WHERE ROWNUM<=20) t2 WHERE T2.rn >=10;

【注】

1.

1
where rownum>1

不能抓取到记录。

2.

1
where rownum between 2 and 10

也不能抓取到记录。

运用分析函数

用分析函数row_number()over(ORDER BY 字段)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
按照学生ID排名,抓取前三条记录
[sql]
SELECT * FROM(SELECT id,realname,row_number()over(ORDER BY id asc) rn FROM T_USER)WHERE rn <=3 
按照学生ID排名,从第10条记录开始,提取10条记录。
[sql]
SELECT * FROM(SELECT id,realname,row_number()over(ORDER BY id asc) rn FROM T_USER)WHERE rn BETWEEN 10 AND 20 
 
运用minus方法
从第10条记录开始,提取10条记录。
[java]
SELECT * FROM T_USER WHERE ROWNUM<20 MINUS SELECT * FROM T_USER WHERE ROWNUM<10; 
按ID排序后,从第10条记录开始,提取10条记录。
[sql]
(SELECT * FROM (SELECT * FROM T_USER ORDER BY id asc) WHERE ROWNUM<20)  MINUS( SELECT * FROM (SELECT * FROM T_USER ORDER BY id asc) WHERE ROWNUM<10);

sql = " SELECT * FROM ( SELECT A.*,rownum rn FROM ( SELECT * FROM  task ) A WHERE rownum <=" + (pageIndex) * pageSize + " ) WHERE rn>" + (pageIndex - 1) * pageSize + " ORDER BY ADDTIME DESC,OBJECTID DESC";

最新文章

  1. 52. 不用+、-、&#215;、&#247;做加法[add two numbers without arithmetic]
  2. myBaties 和 mysql开发中遇到的问题
  3. margin属性
  4. 下载和使用 Open XML PowerTools
  5. Android 开源框架ActionBarSherlock初探
  6. myeclipse中java文件头注释格式设置
  7. jQuery使用记录
  8. 如何管理Session(防止恶意共享账号)——理论篇
  9. 探索Visual Studio生成的.vs文件夹内部结构和作用
  10. WPF常用布局介绍
  11. oracle 12c centos 7 安装配置
  12. Innodb 状态的部分解释
  13. 「TJOI2015」旅游 解题报告
  14. FastAdmin笔记~
  15. centos7 下安装Docker CE
  16. 软件工程驻足篇章:第十七周和BugPhobia团队漫长的道别
  17. &lt;转&gt;jmeter(三)SOAP/XML-RPC Request
  18. JS脚本获取开发者后台所有Device
  19. 复制控件出错--提示XX控件不存在
  20. Win7网络修复,winsock/tcpip

热门文章

  1. Android4.4访问外部存储
  2. html5快速入门(四)—— JavaScript
  3. AES 加密工具类
  4. 初识java之变量、数据类型和运算符(一)
  5. Android Studio 导入项目 出现安装Error:Cause: failed to find target with hash string &#39;android-23&#39; 等错误
  6. 我对uml类图关系的理解
  7. expdp 报The value (30) of MAXTRANS parameter ignored错误的原因诊断
  8. web.xml is missing and &lt;failOnMissingWebXml&gt; is set to true 错误解决办法
  9. java实现文件变化监控
  10. 关于PB调用Microsoft Web Browser控件的一些问题