4
我有數據從2008年1月1日至今天按表中第一列的比例排序。每年從零開始的累積列
我在第二列中有值。我可以用下面的代碼做一個累積的第三列,但我不知道如何在每年的1月1日重新開始每年累計。
SELECT
t3.Date,
SUM(cumul) AS cumul
FROM (
SELECT
t1.Date,
t1.nb,
SUM(t2.nb) AS cumul
FROM (
SELECT
Ratio.Date,
SUM(DailyValue) AS Nb
FROM Ratio
GROUP BY Ratio.Date
)t1
INNER JOIN (
SELECT
Ratio.Date,
SUM(DailyValue) AS nb
FROM Ratio
GROUP BY Ratio.Date
) t2
ON t1.Date >= t2.Date
GROUP BY t1.Date, t1.nb
)t3
GROUP BY PnLDate,nb
ORDER BY pnldate
完美的作品更好的方法,謝謝! – Rich
@Rich - 不客氣 – GurV
爲什麼'sum(sum(DailyValue))'?總和(DailyValue)'不夠? http://sqlfiddle.com/#!15/1e120/1 – Blag