我需要SQL帮助.我有一个像这样的sqlite表;
CREATE TABLE mytable (datetime DATE, type TEXT, amount REAL)
我需要一个查询来总结每种类型和年 - 月的数量(因为你可以看到年份也被提取,因为数据可以跨越几年).我已经到了中途,但我对SQL有点生疏.
sqlite> SELECT strftime('%Y',datetime) AS year, strftime('%m',datetime) AS month, type, amount FROM mytable ; 2009|06|Type1|-1000.0 2009|06|Type1|-100.0 2009|06|Type2|-100.0 2009|07|Type1|-214.91 2009|07|Type2|-485.0
我在上面的查询中尝试了很多SUM和GROUP BY的组合,但是没有一个能达到我想要的效果.我想要的是一个结果,如:
2009|06|Type1|-1100.0 2009|06|Type2|-100.0 2009|07|Type1|-214.91 2009|07|Type2|-485.0
是的,类型应该是外键,我简化了一些东西,以便更容易提出问题:)
SELECT strftime('%Y',datetime) AS year, strftime('%m',datetime) AS month, type, Sum(amount) As Amount FROM mytable Group By 1, 2, 3
某些数据库不支持逐个索引,因此您必须这样做.
SELECT strftime('%Y',datetime) AS year, strftime('%m',datetime) AS month, type, Sum(amount) As Amount FROM mytable Group By strftime('%Y',datetime), strftime('%m',datetime), type