Java 如何在JCR-SQL2中应用聚合函数(如MIN、MAX、COUNT)?

Java 如何在JCR-SQL2中应用聚合函数(如MIN、MAX、COUNT)?,java,aem,jcr,jcr-sql2,Java,Aem,Jcr,Jcr Sql2,我在JCR中将一些记录存储为节点,节点的名称是主键。例1、2、3。 但问题从这里开始 记录如下1,2,6,53,54 其中,上面的数字是EMP非结构化节点下的节点。 如果我这样做 int count=empNode.getNodeIterator().getSize()我将得到5个,因为有5个节点 因此,我使用count++计算6,但6已经存在,因此我无法在EMP[nt:unstructed]下创建名为6的节点,这就是我希望在查询中应用MAX(nodeNames)的原因。我该怎么办 更新:: 我

我在JCR中将一些记录存储为节点,节点的名称是主键。例1、2、3。 但问题从这里开始

记录如下1,2,6,53,54

其中,上面的数字是EMP非结构化节点下的节点。 如果我这样做

int count=empNode.getNodeIterator().getSize()
我将得到5个,因为有5个节点

因此,我使用count++计算6,但6已经存在,因此我无法在EMP[nt:unstructed]下创建名为6的节点,这就是我希望在查询中应用MAX(nodeNames)的原因。我该怎么办

更新:: 我使用CQ5.5。EMP是像/content/EMP这样的内容下的非结构化节点。
在这个(EMP)模式下,我有非结构化的节点来保存我的数据。这些节点的名称为1,2等

我尝试使用我的CQ5.4实例来寻找解决方案。不幸的是,我的尝试没有成功。当我在谷歌上使用关键词“sql2 count”时,我找到了这个页面。有人问了同样的问题,答案是

JCR SQL、XPath[2]或XML中没有计数(*)或分组依据选择器 JCR-SQL2/AQM[3]

要实现这样的标记云,您可以运行一个查询来获取所有标记 包含相关“标记”属性的内容:

//元素(*,my:Article)[@tag]

然后对结果进行迭代,并在 通过查看标记属性值并使用一些 hashmap(tagid->count)

(第8.5节)

(第6.6节)


我想您可以将这个答案与MAX()和MIN()联系起来。

您使用哪一版本的CQ5?“EMP”是什么?@reporter::请看下面的更新见我的答案。可能是::的重复,这意味着什么。我们获取所有需要的记录,然后在JCR_SQL2中对其进行重新迭代?或者我真的必须用Java手动完成吗?或者你是在说用CQ5编写一个过程?最后一个问题很奇怪,只是好奇而已!是的,你必须手动操作。幸运的是,
java.util.List
包含方法
size()
:,我理解。但是如果你正确地理解我的问题,你就会明白
list.size()
对我没有帮助。但是,我通过维护一个计数器表(节点)来解决这个问题,该计数器表(节点)跟踪最新使用的整数,而不是执行list.size()+1来获取最新的int并将其用作主键。