假设我在MarkLogic中有以下三个文档,
<employee>
<name>a</name>
<age>10</age>
</employee>
<employee>
<name>b</name>
<age>10</age>
</employee>
<employee>
<name>c</name>
<age>10</age>
</employee>
分别为[[uris文件-/ employee / a,/ employee / b,/ employee / c。我已将"/employee/age"
的路径范围索引创建为int
标量类型。
"/employee/age"
的所有值的总和。我尝试过
-sum(cts:values(cts:path-reference("/employee/age")))
,但它返回10作为输出总和这里我期望30作为输出总和。上述问题的解决方案是什么?cts:values()
函数返回存在的不同值的列表。它返回一个10值,所以您的总和为10。尝试cts:sum-aggregate()
,它适合此用例并考虑了频率。可以在http://docs.marklogic.com/cts:sum-aggregate中找到文档。