2013-07-04 5 views
3

У меня есть база данных в SQL Server 2012 и есть таблица, как этотКак суммировать общую сумму за каждый месяц в году?

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. Оно работает. После этого я попытался сравнить две даты (тип даты). Есть несколько примеров, но все они о датах. Так что я действительно застрял. Это неправильный путь? Как я могу это сделать ? Pls дает мне любой совет. Спасибо.

ответ

6

Я думаю, что вы просто хотите агрегацию:

select id, month(date) as "month", sum(amount) as TotalAmount 
from t 
where year(date) = 2013 
group by id, month(date) 
Смежные вопросы