2017-05-09 4 views
0

Ich versuche herauszufinden, wie Sie eine Couchbase N1QL Abfrage verwenden, um die Gesamtmenge der Dokumente mit einem bestimmten Datum über einen bestimmten Zeitraum zurückzugeben und jedes Datum als Zeile zurückzugeben mit einer zweiten Spalte mit der Gesamtzahl.Wählen Sie mehrere Zählungen für jeden Tag im Datumsbereich mit N1QL

Beispiel Dokument

{ 
    "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", 
} 

Also, im Wesentlichen Ich suche eine Abfrage auszuführen, die dazu gleich ist:

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

aber für einen Zeitraum von sieben Tagen mit den Ergebnissen etwas wie folgt aussehen:

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 

Ist das etwas, was N1QL derzeit leisten kann?

Antwort

0

einfacher als ich dachte ...

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) ; 
Verwandte Themen