Sql 如何计算一年中每个月的总金额?
我在SQL Server 2012中有一个数据库,其中有一个日期为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
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)