如何在 Oracle APEX 交互式网格报表中维护正在运行的计数器
Posted
技术标签:
【中文标题】如何在 Oracle APEX 交互式网格报表中维护正在运行的计数器【英文标题】:How to maintain a running counter within an Oracle APEX Interactive grid report 【发布时间】:2020-01-14 09:32:33 【问题描述】:环境:Oracle APEX v5.1 / Oracle 12c
我有一个交互式网格报告,我需要根据之前的单元格值附加一个计数器 - 在下面的示例中,Order No Item 是附加了“-1”等的订单号值。
这里有一些规则:
1) 当 Order No. 值发生变化时,“Order No Item”计数器需要重置回 1,正如您在值从 100 变为 200 时看到的那样。 2) “Order No Item”还需要知道何时使用现有的 Order No,并将计数器增加到该 Order No 的下一个值。
例如:
Order No. Order No Item
----------- -------------
100 100-1
100 100-2
100 100-3
200 200-1
200 200-2
100 100-4
基于上述情况,我正在 Oracle APEX 交互式网格中执行此操作,但不确定满足上述要求的最佳方法是什么。
我正在考虑将值存储在 APEX 集合中以维护计数器。
注意:我的 IG 不是基于任何基础表,它都需要在用户输入数据时逐行计算。
【问题讨论】:
嗨,托尼,您还在寻求帮助吗? 【参考方案1】:你需要一个row_number()
:
select t.*, row_number() over (partition by orderno order by ?) as OrderNoItem
from table t;
?
假定您的数据具有标识数据序列的默认排序。
【讨论】:
仅供参考,我将更新我的原始帖子,我的 IG 不是基于任何基础表,所有这些都需要逐行计算。以上是关于如何在 Oracle APEX 交互式网格报表中维护正在运行的计数器的主要内容,如果未能解决你的问题,请参考以下文章
如何仅使用 sql 在 apex oracle 的交互式网格中实现选择列表以及 oracle APEX 中可用的内容?
Oracle APEX 交互式网格:如何使用 PLSQL 访问内容?
如何在 oracle apex 18 中编辑交互式网格(带有复杂的 sql 查询)?