易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle, DB2 及 MySQL 分页查询写法

 
现在在WEB 应用中使用分页技术越来越普遍了,其中利用数据库查询分页是一种效率比较高的方法,
下面列出了Oracle, DB2  及 MySQL 分页查询写法。
一:Oracle
select * from (select rownum,name from table where rownum <=endIndex )
where rownum > startIndex
二:DB2
DB2分页查询
SELECT * from (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20
以上表示提取第10到20的纪录
select * from (select rownumber() over(order by id asc ) as rowid from table where rowid <=endIndex ) AS a1
where a1.rowid > startIndex
三:MySQL
select   *   from   table   limit   start,pageNum  
SELECT EVENTID  , EVENTNAME  , CREATETIME  , ELAPSEDTIME  , REPEATCOUNT  , MESSAGE  , LOCALINSTANCEID , STATUS , MEMO from(SELECT rownumber() OVER (ORDER BY CREATETIME ASC) AS rowid from MS_EVENT WHERE rowid <=20) as a1 WHERE a1.rowid >10
SELECT * from (SELECT EVENTID  , EVENTNAME  , CREATETIME  , ELAPSEDTIME  , REPEATCOUNT  , MESSAGE  , LOCALINSTANCEID , STATUS , MEMO,
ROWNUMBER() OVER (ORDER BY CREATETIME  ASC) AS rn from MS_EVENT) AS a1 WHERE a1.rn BETWEEN 10 and 20
--------------------------------------------------------------------
1. 标准的rownum分页查询使用方法:
    select *
      from (select c.*, rownum rn from content c)
     where rn >= 1
       and rn <= 5
    2. 但是如果, 加上order by addtime 排序则数据显示不正确
    select *
      from (select c.*, rownum rn from content c order by addtime)
     where rn >= 1
       and rn <= 5
    解决方法,再加一层查询,则可以解决,
    select *
      from (s


相关文档:

在Oracle中设置自动增长列


【实现步骤】
 1. 创建表blog_info, 具有ID和title两个字段, 其中ID将设置为自动增长列;
 2. 创建序列:
    create sequence sq_blog_info
    start with 1
    increment by 1
    nomaxvalue
    nocycle
   ......

php程序插数据入mysql, 插入失败问题

注意:引用"肥占的博客 http://fatjames.extjs.org.cn/archives/40"
mysql5.x sql-mode 引起的错误
今天安装了个mysql5.0,拿了一个很久之前网上下的程序检查一下是否工作正常.
发现以前的程序居然不能正常运行,提示信息如下:
Database error: Invalid SQL: INSERT INTO
Survey_UserHistory(userId,jobId,type ......

PHP与MYSQL的存储过程

实例一:无参的存储过程
$conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");
mysql_select_db('test',$conn);
$sql = "
create procedure myproce()
begin
INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
end;
";
mysql_query($sql);//创建一个myproce的存储过程
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号