永洪社区

标题: postgres数据库报表分页问题 [打印本页]

作者: yh_9NyzUXP0    时间: 2022-11-1 00:00
标题: postgres数据库报表分页问题
用postgres数据库做数据集,做报表,数据量达到9000万,分页显示查不出来。看日志显示sql 条件只有 limit 50000000。
如果用oralce数据库做数据集,查看分页报告,会有分页的sql逻辑。

请问,这个问题是 postgres 不支持分页功能吗?


作者: yhdata_yzm    时间: 2022-11-1 00:00
支持真分页的情况有:
明细表格和分组汇总表格。支持的数据库有Oracle,MySQL,SQLServer,DB2,GBase,Hana,Kylin,Sybase,Clickhouse,达梦(DaMeng),PostgreSQL,Fusioninsight ELK,Fusioninsight HD,GaussDB100,GaussDB200,Teradata,Hive,Impala,HuaweiCloudDWS,GreenPlum,TBDS。
控制详细表格设置分页后,查看时是否以真分页方式获取数据。当前Oracle、Oracle、SQL Server 、MySQL、DB2已经自动支持真分页,对于暂未支持的数据库类型,数据集SQL语句如下:
select * from coffee <_PAGE_> where ID BETWEEN (?{@_PAGE_} - 1) </_PAGE_> <_PAGE_LIMIT_> * ?{@_PAGE_LIMIT_} AND </_PAGE_LIMIT_> <_PAGE_> ?{@_PAGE_} </_PAGE_> <_PAGE_LIMIT_>* ?{@_PAGE_LIMIT_} </_PAGE_LIMIT_>
结合_SELF_CTRL_PAGE_可以实现真分页,有以下两种方式:
•在编辑参数中添加_SELF_CTRL_PAGE_=true,对报告中所有的普通表实现真分页。
•在脚本中添加图表1.innerParam["_SELF_CTRL_PAGE_"] = true,只对当前设置的普通表实现真分页。
作者: yh_9NyzUXP0    时间: 2022-11-1 18:23
分页可以实现,但在sql后加上<_PAGE_> where ID BETWEEN (?{@_PAGE_} - 1) </_PAGE_> <_PAGE_LIMIT_> * ?{@_PAGE_LIMIT_} AND </_PAGE_LIMIT_> <_PAGE_> ?{@_PAGE_} </_PAGE_> <_PAGE_LIMIT_>* ?{@_PAGE_LIMIT_} </_PAGE_LIMIT_>
后,_PAGE_ 和 _PAGE_LIMIT_ 取值是多少?
数据集会过滤掉一部分数据,应该怎么解决?
作者: yhdata_yzm    时间: 2022-11-1 19:11
yh_9NyzUXP0 发表于 2022-11-1 18:23
分页可以实现,但在sql后加上 where ID BETWEEN (?{@_PAGE_} - 1)   * ?{@_PAGE_LIMIT_} AND   ?{@_PAGE_}  ...

一页有多少行,这个根据你的需求自定义




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4