1
我有以下查询可以给出投资组合的每日总价值。查询以计算SUM和以前的SUM,GROUP BY不连续日期之间的差异
SELECT RecDate, Sum(Mval) as TotalVal
FROM DailyVal
WHERE RecDate >= DateValue("1/1/2013")
GROUP BY RecDate;
它的伟大工程,并给出结果如下:
RecDate TotalVal
1/10/2013 4465
1/11/2013 4471
1/14/2013 4472
1/15/2013 4477
不过,我想计算的发言权1/11/2013
和1/10/2013
等的每一行之间的差异。
我通常在别名表ON
ID - 1
上做一个INNER JOIN
并根据需要执行计算。不幸的是,当通过GROUP BY
进行汇总时,没有一个合理的索引。
我的问题是有没有实际给的索引查询的方式,因此它可以是这样的:
ID RecDate TotalVal
1 1/10/2013 4465
2 1/11/2013 4471
3 1/14/2013 4472
4 1/15/2013 4477
这样我可以把我的正常做法。
否则,是否有更有效的方式来执行此任务?