我试图找出本季度的总数,当时显示的唯一数据是当年的总运行总数:
Id Amount Periods Year Type Date
-------------------------------------------------------------
1 65 2 2014 G 4-1-12
2 75 3 2014 G 7-1-12
3 25 1 2014 G 1-1-12
4 60 1 2014 H 1-1-12
5 75 1 2014 Y 1-1-12
6 120 3 2014 I 7-1-12
7 30 1 2014 I 1-1-12
8 90 2 2014 I 4-1-12
在上面显示的数据中。 G和I类型的项目正在运行该期间的总计(以qtrs为单位)。如果我的查询返回第3期,是否有一种sql方式来获取qtr的数据?数学将涉及检索第3个时期的数据 - 第2个时期。
现在我的sql就像:
SELECT * FROM data WHERE Date='4-1-12';
在此查询中,它将返回第1行,这是2个句点的总计。我希望它只返回第二期的总数。我希望用SQLite来实现这一点。
任何帮助都将不胜感激。
非常感谢
答案 0 :(得分:1)
您想要减去上一季度的累计总数:
SELECT Id,
Year,
Type,
Date,
Amount - IFNULL((SELECT Amount
FROM data AS previousQuarter
WHERE previousQuarter.Year = data.year
AND previousQuarter.Type = data.Type
AND previousQuarter.Periods = data.Periods - 1
), 0) AS Amount
FROM data
IFNULL需要处理上一季度没有的季度。