2015-11-23 2 views
1

У меня есть таблица в моей базе данных, которая выглядит следующим образом:SQL/MySQL: Сумма всех сумм за соответствующий месяц

payment_id   customer_id   amount   payment_date    
1     32     20.00   2005-01-25 11:30:37 
2     32     10.00   2005-01-26 11:30:37 
3     11     25.00   2005-03-25 11:30:37 

Теперь я хочу подвести все суммы клиента (Customer_ID), изготовленный в соответствующем месяц. Мне нужен запрос, который выглядит, какой месяц существует и у каких клиентов есть запись в этом месяце.

Результат должен выглядеть следующим образом:

customer_id   month   amount 
32     01    30.00 
11     03    25 

Я попытался это:

SELECT DISTINCT month(payment_date) AS month, customer_id, sum(amount) AS amount 
FROM table 

Но это просто суммирует все значения суммы всей таблицы.

+0

Вы должны использовать 'группы by', а затем суммировать суммы. –

ответ

2

Вы должны использовать GROUP BY запроса:

SELECT 
    customer_id, 
    month(payment_date) as month, 
    sum(amount) as total_amount 
FROM 
    tablename 
GROUP BY 
    customer_id, 
    month(payment_date) 
+0

Это работает просто отлично, спасибо вам большое. Мне нужно более внимательно рассмотреть «Группу по». – coder

Смежные вопросы