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