分页查询没有起作业

使用的是oracle数据库,现在按这里的示例:https://help.finereport.com/doc-view-996.html


做分页查询,看日志好像没有起作业。不知道哪里有问题了,现在我不能用行引擎了,可能是服务器安装了一个插件,导致行引擎失效,而且也不能把这个插件删除,目前还没有升级jar,也用不了新的那个插件,这个都是集团在控制。所以要写一个分页的,而且是视图的表。


我设置第一页30行,我就把下面的语句6改成30,但是每一页并不是30行



就是这里的语句改了一下:


with t_rowtable 

as (

select row_number() over(order by object_id DESC) as row_number,* 

from sys.[all_columns] 

where 1=1 

SELECT * 

FROM ( 

SELECT TOP ${ if(fr_pagenumber == int((((fr_rowcount-1)/6)+1)),fr_rowcount - (6*(fr_pagenumber-1)),6) } * 

FROM( 

SELECT TOP ${6*fr_pagenumber} * 

FROM t_rowtable ORDER BY row_number ASC 

) AS e1 

ORDER BY row_number DESC 

) AS e2 

ORDER BY row_number ASC





FineReport CD20160914 发布于 2020-6-2 14:37 (编辑于 2020-6-2 14:38)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
4
snrtuemcLv8专家互助
发布于2020-6-2 14:41(编辑于 2020-6-2 15:09)

请问你是什么数据库,with as语句不支持MSSQL以及mysql,可以在Oracle中使用

但是Oracle不支持top函数的


with t_rowtable 

as (

select row_number() over(order by object_id DESC) as row_number,* 

from sys.[all_columns] 

where 1=1 

SELECT * FROM ( 

SELECT * FROM( SELECT * FROM t_rowtable ORDER BY row_number ASC rownum<=${6*fr_pagenumber}  ) AS e1 

ORDER BY row_number DESC rownum<=${ if(fr_pagenumber == int((((fr_rowcount-1)/6)+1)),fr_rowcount - (6*(fr_pagenumber-1)),6) } ) AS e2

 ORDER BY row_number ASC


  • 2关注人数
  • 439浏览人数
  • 最后回答于:2020-6-2 15:09
    请选择关闭问题的原因
    确定 取消
    返回顶部