2009-11-30 43 views
15

Tôi sử dụng sql dưới đây trong sqlite để nhóm theo khoảng thời gian. Đầu tiên là nhóm vào ban ngày và nhóm thứ hai theo giờ:Nhóm SQLITE theo số

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) 

Làm thế nào để nhóm 10 phút khoảng

+0

Chỉ cần được rõ ràng: mỗi 10 phút với mỗi ngày - hoặc chỉ mỗi 10 khoảng thời gian tối thiểu bất kể ngày nào? –

+0

Xin lỗi, tôi không hiểu câu hỏi của bạn. Ý tưởng là nhóm các bản ghi theo khoảng thời gian. Các truy vấn tôi liệt kê sẽ nhóm theo một ngày và nhóm theo một giờ. Bây giờ tôi cần nhóm 10 phút. Vì vậy, nếu tôi có hồ sơ được chèn vào trong một tuần, tôi vẫn muốn nhóm chúng lại 10 phút. Tôi hy vọng điều này là rõ ràng ngay bây giờ. – yaza

Trả lời

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

Nó sẽ là '||' thay vì '+' ở đó - nếu không nó sẽ xử lý kết quả của cả hai 'strftime' làm số và cộng chúng lại với nhau, dẫn đến một lỗi khá khó để theo dõi. – Killah