informix数据库分页

需求描述

当查询结果返回大量数据情况下,比如报表查询。需要按一定条件排序提供分页呈现数据。
 
INFORMIX实现方案:Informix 数据库提供了非常便捷、高效的SQL。
SELECT SKIP M FIRST N FROM TABLENAME WHERE 1=1 ORDER BY COL;
 
SQL应用举例

原始数据
name      course          score 
---------------------------------------
张三      语文                74 
张三      数学                99 
张三      物理                93 
李四      物理                94 
李四      语文                78
李四      数学                84
 
按成绩排名输出,要求每页呈现2条记录。如何利用SQL实现分页功能:

第一页:
select skip 0 first 2 * from test_rowcols where 1=1 order by score;
 
name       course           score
---------------------------------------    
张三       语文                74
李四       语文                78
 
第二页:
select skip 2 first 2  * from test_rowcols where 1=1 order by score;
name       course           score
---------------------------------------      
张三       物理                85
李四       物理                86
 
第三页:
select skip 4 first 2  * from test_rowcols where 1=1 order by score;
name       course           score
---------------------------------------     
李四       数学                94
张三       数学                99
 
应用总结,从上面的SQL及数据结果输出来看,我们只需要在我们的应用程序中控制M,N即可。
说明:M 为第几页*每页记录数-每页记录数;N 为每页记录数。
如果错过太阳时你流了泪,那你也要错过群星了。
在所有的矛盾中,要优先解决主要矛盾,其他矛盾也就迎刃而解。
不要做个笨蛋,为失去的郁郁寡欢,聪明的人,已经找到了解决问题的办法,或正在寻找。
原文地址:https://www.cnblogs.com/zhangshuaivole/p/13058956.html