Sql 如何计算一年中每个月的总金额?

Sql 如何计算一年中每个月的总金额?,sql,sql-server,Sql,Sql Server,我在SQL Server 2012中有一个数据库,其中有一个日期为D.M.YYYY格式的表,如下所示: ID | Date(date type) | Amount(Numeric) 1 3.4.2013 16.00 1 12.4.2013 13.00 1 2.5.2013 9.50 1 18.5.2013 10.00 我需要计算一年中每个月的总金额。例如: ID

我在SQL Server 2012中有一个数据库,其中有一个日期为
D.M.YYYY
格式的表,如下所示:

 ID | Date(date type) |  Amount(Numeric) 
  1      3.4.2013          16.00
  1      12.4.2013         13.00
  1      2.5.2013          9.50
  1      18.5.2013         10.00
我需要计算一年中每个月的总金额。例如:

  ID | Month |  TotalAmount
   1     1           0.00
   ...
   1     4          29.00
   1     5          19.50      
我想我需要的是确定一个月的天数,所以我创建了一个函数,如中所述,并且它工作了。在那之后,我试图比较两个日期(日期类型),结果卡住了;这里有一些例子,但都是关于日期时间的


这是错的吗?我怎样才能做到这一点

我想您只需要一个聚合:

select id, month(date) as "month", sum(amount) as TotalAmount
from t
where year(date) = 2013
group by id, month(date)