在Sqlite中汇总最近6个月的列数

时间:2014-09-27 10:49:25

标签: sql sqlite

我在Sqlite中有一张相当大的表,

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

我想要一个包含6行代表过去6个月数据的结果,我将会精确地获取

SUM(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

提前感谢您的帮助。

1 个答案:

答案 0 :(得分: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;