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

标签 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:unstructred] 下创建名称为 6 的节点,这就是为什么我想应用 MAX(nodeNames)

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

最佳答案

我尝试使用我的 CQ5.4 实例来寻找解决方案。不幸的是我的尝试没有成功。当我在 Google 上使用关键字“sql2 count”时,我发现 this页。有人问了同样的问题,答案是

There is no count(*) or group by selector in JCR SQL 1, XPath [2] or JCR-SQL2/AQM [3].

To implement such a tag cloud, you can run one query that fetches all your content containing the relevant "tag" property:

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

and then iterate over the result and count your tags on the application side by looking at the tag property values and using some hashmap (tagid -> count).

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

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

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

我认为你可以将这个答案与 MAX() 和 MIN() 连接起来。

关于java - 如何在 JCR-SQL2 中应用聚合函数(如 MIN、MAX、COUNT)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400206/

相关文章:

java - 如何在 spring batch 中创建自定义项目阅读器

java - 如何在rteplugins下为richtext组件添加图像插件

java - 如何防止用户进入 'back' 但在 JSP 中注销后保留缓存?

java - JCR SQL2 查询显然没有提供任何结果

java - 如何访问存储在 jcr 节点中的字符串数组?

java - 使用 LittleEndian 将短裤数组写入文件的好方法

java - 在抽象类中有 main 方法

osgi - 使用 Sling Launchpad 进行生产

java - 尝试运行java程序来运行Windows命令,但程序无法运行

aem - 当您为网站指定设计时,AEM 默认包含哪些 css 文件?