2009-11-30 5 views
15

Ich benutze die sql unten in sqlite, um nach Zeitintervallen zu gruppieren. Die erste ist die Gruppe bis zum Tag und die zweite Gruppe von Stunde:SQLITE-Gruppe von

select strftime('%Y-%m-%dT%00:00:00.000', date_time),line, count() from entry group by strftime('%Y-%m-%dT%00:00:00.000', date_time) 

select strftime('%Y-%m-%dT%H:00:00.000', date_time),line, count() from entry group by strftime('%Y-%m-%dT%H:00:00.000', date_time) 

Wie kann ich Gruppe von 10 Minuten Intervall

+0

Nur klar zu sein: alle 10 min mit jedem Tag - oder einfach nur alle 10 min Intervall unabhängig vom Tag? –

+0

Entschuldigung, ich verstehe deine Frage nicht. Die Idee besteht darin, Datensätze nach Zeitintervallen zu gruppieren. Die Abfragen, die ich aufgelistet habe, gruppieren sich nach einem Tag und gruppieren sich nach einer Stunde. Jetzt brauche ich die Gruppe um 10 Minuten. Also, wenn ich über eine Woche Datensätze eingefügt habe, möchte ich sie immer noch um 10 Minuten gruppieren. Ich hoffe, das ist jetzt klar. – yaza

Antwort

10
select ... from entry 
group by strftime('%Y%m%d%H0', date_time) + strftime('%M', date_time)/10; 
+0

Es sollte '||' anstelle von '+' da sein - sonst wird es die Ergebnisse beider 'strftime's als Zahlen behandeln und sie zusammenfügen, was zu einem ziemlich schwer zu verfolgenden Bug führt. – Killah