首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在过去30天内返回完全不同的用户dateCreated

如何在过去30天内返回完全不同的用户dateCreated
EN

Stack Overflow用户
提问于 2017-04-10 15:25:10
回答 1查看 55关注 0票数 1

我的数据库中有很多审计文件,如下所示

代码语言:javascript
复制
<Record>
  <objectType>Audit</objectType>
  <dateCreated>2017-04-07T03:51:56.231-04:00</dateCreated>
  <createdBy>first user</createdBy>
</Record>

如何获得在过去30天内创建审计文件的用户总数(CreatedBy)?有一些createdBy相同的审计文件,因此我们需要不同的值计数。

我尝试了下面的查询:

代码语言:javascript
复制
let $query := cts:values(cts:element-reference(fn:QName($NS, "createdBy")))
return fn:count($query)

但是我如何使用条件dateCreated>30cts:range-querycts:values中。还有其他方法可以做到这一点吗?

(我已经为createdBy和dateCreated设置了元素范围索引)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 16:38:36

您可以将约束范围查询作为第三个参数传递给cts:count-聚合()--如下代码所示:

代码语言:javascript
复制
let $index := fn:QName($NS, "dateCreated")
let $count := cts:count-aggregate(
    cts:element-reference($index),
    (),
    cts:element-range-query($index, ">",
        fn:current-dateTime() - xs:dayTimeDuration("P30D")
        )
    )

这将给出过去30天dateCreated值的总数。

有关更多信息,请参见:

http://docs.marklogic.com/cts:count-aggregate

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43327176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档