2017-05-09 30 views
0

我想弄清楚如何使用Couchbase N1QL查询返回特定日期范围内给定日期的文档总数并将每个日期返回为一行第二列与总数。使用N1QL为日期范围内的每一天选择多个计数

实例文档

{ 
    "userPk": "43da6438-5a17-4b95-b9cb-993788677675", 
    "value": "6f916dba-6fa1-42b0-8816-c1e78bdabce5", 
    "type": 3, 
    "date": "2017-03-14T12:15:05.4407826-05:00", 
    "userAgentString": "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko", 
} 

所以,基本上我期待运行一个查询等于此:

SELECT COUNT(*) FROM bucket1 WHERE `value` = "6f916dba-6fa1-42b0-8816-c1e78bdabce5" AND date = "2017-03-14"; 

但七天后的结果看起来像这样:

Date  | Total 
------------------ 
2017-03-14 | 1300 
2017-03-13 | 1000 
2017-03-12 | 1200 
2017-03-11 | 1100 
2017-03-10 | 1300 
2017-03-09 | 1100 
2017-03-08 | 1300 

这是N1QL目前能做的事吗?

回答

0

比我想象的更容易...

SELECT SUBSTR(date,0,10) As Date, COUNT(1) As Total FROM bucket1 WHERE value= "6f916dba-6fa1-42b0-8816-c1e78bdabce5" AND date BETWEEN "2017-03-01T12:15:05.4407826-05:00" AND "2017-03-31T12:15:05.4407826-05:00" GROUP BY SUBSTR(date,0,10) ; 
相关问题