我的表结构:
表名:WX_REGULAR_MAINTAIN_WORK
表字段:WORK_ID 、SYSTEM_ID....LAST_EXECUT_TIME、MAINTAIN_PERIOD、DELSIGN
sql语句作用:从前台传递start、limit参数,读取数据表中start行->(start+limit*页数) 行的记录。
string sqlCommand =
@"select * from (select * from WX_REGULAR_MAINTAIN_WORK order by (LAST_EXECUT_TIME+ MAINTAIN_PERIOD) ASC)
where DELSIGN = '0' and rownum <= "+limit+@" and WORK_ID||SYSTEM_ID not in
( select WORK_ID||SYSTEM_ID
from (select * from WX_REGULAR_MAINTAIN_WORK order by (LAST_EXECUT_TIME+ MAINTAIN_PERIOD) ASC)
where DELSIGN = '0' and rownum <="+start+" ) ";
order by 用在from里,是为了在已经按照(LAST_EXECUT_TIME+ MAINTAIN_PERIOD)排序数据集里查找记录。
rownum 是数据库自带的标识符。
第M行->第N行 按照某字段有序读取简单写成:
select * from (select * from a order by a.id) where rownum < = N and a.id not in ( select * from (select * from a order by a.id) where rownum<=M)
实践中出现的问题:
1,Oracle无法在子查询中实现orader by 。总会出现提示“缺少右括号”。
2,rownum 只有 rownum < 值 或是rownum <= 值的方法。没有>或>=。
3,MINUS也可以实现读取第M行至第N行的读取,如果想按照有序排列,只需from 一个有序的select集合。
例如:
(select * from a where rownum<=5)
minus
( select * from a where rownum<4 )
改成:
(select * from (select * from a order by a.id) where rownum<=5 )
minus
(select * from (select * from a order by a.id) where rownum<4)
分享到:
相关推荐
1.5.6 ORDERBY子句 13 1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 20 1.9 MERGE语句 22 1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
游标的作用是将数据库的中数据检索出来后缓存,可以被PL/SQL程序一行一行的读取并处理。支持一条、多条、零条记录的处理。 游标的基本操作步骤为: (1)声明游标,使用查询来定义游标的列和行 (2)打开游标,使用PL/...
对于二进制排序, ORDER BY 查询的比较顺序是以数值为基础的。对于语言排序, 则需要进行全表扫描, 以便将数据按照所定义的语言排序进行整理。 值范围: BINARY 或有效的语言定义名。 默认值: 从 NLS_LANGUAGE 中获得...
like 'M%':M开头的 like '_a%':第二个字符是a的 like '%a%'所有含a的 (“_”表示一个任意字符;“%”表示任意多个任意字符。) 单引号里面的内容,大小写敏感。单引号用来限定字符串, 如果将值与串类型的列...
传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP...
4、说明:子查询(表名1:a 表名2:b) select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3) 5、说明:显示文章、提交人和最后回复时间 select a.title,a.username,...
子查询 EXISTS CASE 算排名 算中位数 算总合百分比 算累积总合百分比 SQL 语法 无论您是一位 SQL 的新手,或是一位只是需要对 SQL 复习一下的资料仓储业界老将,您 就来对地方了。这个 SQL 教材网站列出常用的 SQL ...
第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 =======================================...
38、表连接、子查询的区别是什么?它们可以相互转化吗?你倾向于用哪种,为什么? 54 39、oracle数据库表的备份及还原 54 40、谈谈你知道的数据库和中间件 54 41、oracle和MySQL的区别 54 42、简述Mysql的InnoDb 55 ...