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

时间:2014-10-16 08:57:15

标签: java cq5 jcr jcr-sql2

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

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

上面的数字是EMP非结构化节点下的节点。 如果我做

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

所以我算数++给了我6但已经存在6,所以我不能在EMP [nt:unstructred]下创建一个名为6的节点,这就是为什么我要应用MAX(nodeNames)查询中的某些内容。我该怎么办?

更新:: 我用的是CQ5.5。 EMP是/ content / EMP等内容下的非结构化节点。 在这个(EMP)下,我有保留数据的未经编织的节点。这些节点的名称为1,2等

1 个答案:

答案 0 :(得分:3)

我尝试用我的CQ5.4实例找到一个解决方案。不幸的是,我的尝试没有成功。当我使用关键字' sql2 count'通过Google,我找到了this页面。有人问了同样的问题,答案是

  

JCR SQL 1,XPath [2]中没有count(*)或group by group   JCR-SQL2 / AQM [3]。

     

要实现此类标记云,您可以运行一个获取所有标记的查询   您的内容包含相关的"标记"属性:

     

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

     

然后迭代结果并计算你的标签   应用程序端通过查看标记属性值并使用一些   hashmap(tagid - > count)。

     

http://www.day.com/specs/jcr/1.0/(第8.5节)

     

http://www.day.com/specs/jcr/1.0/(第6.6节)

     

http://www.day.com/specs/jcr/2.0/6_Query.html

我认为您可以将此答案连接到MAX()和MIN()。