欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Derby分页实现 博客分类: Database derbysql 

程序员文章站 2024-03-22 18:25:28
...
在Derby中使用如下语句分页
SELECT * FROM ( SELECT ROW_NUMBER() OVER() AS R, id, jobid, logtime, msgtext FROM log_table where 1=1 order by logtime desc ) AS tmp WHERE R > ? and R <= ?

应该是Derby本身的问题,导致总是在当前页可以排序,而不能整体排序。
替换为
SELECT id, jobid, logtime, msgtext FROM log_table where 1=1 order by logtime desc OFFSET ? ROWS FETCH NEXT ? ROWS ONLY 

则工作良好。说是10.7的版本才有OFFSET功能,其实10.6也是有的。
参考资料:
http://db.apache.org/derby/faq.html#limit
http://db.apache.org/derby/docs/10.7/ref/rrefsqljoffsetfetch.html
http://wiki.apache.org/db-derby/OLAPRowNumber
http://db.apache.org/derby/manuals/index.html
相关标签: derby sql