【问题标题】:How to sum total amount for every month in a year?如何计算一年中每个月的总金额?
【发布时间】:2013-07-02 20:43:21
【问题描述】:

我在 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      

我认为我需要的是确定一个月中的天数,所以我创建了一个在determine the number of days 中描述的函数,并且它起作用了。之后我尝试比较两个日期(日期类型)并卡住了;有一些例子,但都是关于日期时间的。

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

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    我认为你只是想要一个聚合:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      相关资源
      最近更新 更多