需求描述
当查询结果返回大量数据情况下,比如报表查询。需要按一定条件排序提供分页呈现数据。
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 为每页记录数
在面对大量查询结果时,Informix 提供了高效便捷的 SQL 分页功能。通过 `SELECT SKIP M FIRST N FROM TABLENAME WHERE 1=1 ORDER BY COL;` 语句,可以实现数据的有序分页展示。例如,一个包含学生分数的报表查询,可以按成绩排序并分页显示。通过调整 `M` 和 `N` 的值,可以在应用程序中轻松控制分页效果。
2648

被折叠的 条评论
为什么被折叠?



