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
這樣我可以把我的正常做法。
否則,是否有更有效的方式來執行此任務?