2009-11-30 9 views
15

J'utilise le sql ci-dessous en sqlite pour regrouper par intervalles de temps. Le premier est un groupe par jour et le deuxième groupe par heure:Groupe SQLITE par

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) 

Comment puis-je groupe de 10 minutes d'intervalle

+0

Pour être clair: toutes les 10 minutes tous les jours - ou tout simplement tous les 10 intervalle min indépendamment du jour? –

+0

Désolé, je ne comprends pas votre question. L'idée est de regrouper les enregistrements par intervalles de temps. Les requêtes que j'ai énumérées se regroupent en une journée et sont regroupées en une heure. Maintenant j'ai besoin de groupe de 10 minutes. Donc, si j'ai des dossiers insérés sur une semaine, je veux toujours les regrouper par 10 minutes. J'espère que c'est clair maintenant. – yaza

Répondre

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

Il devrait être '||' au lieu de '+' là - sinon il traitera les résultats des 'strftime's comme des nombres et les ajoutera ensemble, résultant en un bug plutôt difficile à tracer. – Killah