2009-09-02 96 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