首页 > 解决方案 > Couchbase n1ql 查询每周范围

问题描述

我正在尝试根据每周范围进行查询。

文件结构:

{
    type: "city",
    createdDate: "2020-08-15T12:00:00"
    //other fields
}

查询应该每周计算记录。

输出:

date         count
2020-08-01  20
2020-08-08  20

它应该在当月每周显示

标签: couchbasen1ql

解决方案


结帐日期函数https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/datefun.html

SELECT date, COUNT(1) AS cnt
FROM mybucket AS d
LET date = DATE_PART_STR(DATE_ADD_STR(d.createdDate, -IMOD(DATE_PART_STR(d.createdDate,"day")-1,7)), "1111-11-11")
WHERE ...........
GROUP BY date;

注意:该月的最后一周是局部的。每个月的每周分组很复杂,因为没有相等的天数。结帐提取上述链接中的日期组件(iso_week,week)


推荐阅读