我在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
提前感谢您的帮助。
答案 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;