2009-09-02 125 views
2

我有一張表,其中包含不同年份的每個月的值。在MySQL視圖中的累計總和

Entries: 
entry_id 
entry_date 
entry_amount 

現在我想要一個包含所有輸入值的視圖和當前年度金額的累計總和。

Entries_sum_view: 
entry_id 
entry_date 
entry_amount 
entry_cumulative_yearly_sum 

其中entry_cumulative_yearly_sum = SUM(從1月1中的所有條目YEAR(ENTRY_DATE)至多ENTRY_DATE的)

謝謝, 馬丁

回答

3

找到了解決方案:

SELECT e1.*, SUM(e2.entry_amount) AS cum_sum 
FROM Entry e1, Entry e2 
WHERE 
    e2.account_idfk = e1.account_idfk AND 
    e2.entry_period_end_date BETWEEN MAKEDATE(YEAR(e1.entry_period_end_date),1) AND e1.entry_period_end_date GROUP BY e1.entry_id