2014-09-27 65 views
-2

我有一個相當大的表Sqlite這樣,總和列由過去的6個月sqlite的

A   |   B   |  time (Current system time milisecond) 
___________________________________________________________________________________________ 
2      3     3376333000000 
4      6     2123423430000 
2      4     2334324234000 

我想有6行表示的最後6個月的數據的結果,在那裏我會得到精確(A),SUM(B),時間如「SEP'14」,其中「SEP'14」表示2014年9月的SUM(A)和SUM(B)。接下來的行將具有以下數據的總和: 2014年8月,2014年7月的月份等。示例輸出如下

SUM(A)  |  SUM(B)   |  month 
_____________________________________________________________ 
5      7     SEP'14 
4      8     AUG'14 
6      4     JUL'14 

在此先感謝您的幫助。

+0

目前還不清楚如何解釋'time'場 – Rimas 2014-09-27 11:10:07

+0

時間字段表示列A和B一天的數據。說,今天我的A值是2,B是3.所以,數據庫輸入是2,3,currentSystemTime。 – ayon 2014-09-27 11:16:41

回答

2

您需要將時間戳轉換爲年/月,然後使用group by

select strftime(date(time/1000, 'unixepoch'), '%Y-%m') as yyyymm, 
     sum(A), sum(B) 
from table t 
group by strftime(date(time/1000, 'unixepoch'), '%Y-%m') 
order by yyyymm desc 
limit 6;