2016-03-02 6 views
0

У меня есть таблица transactions так: http://prntscr.com/aa5vg6 Я хочу, чтобы выбрать общую сумму группы по purpose и date колонку. Например: найдено 10 записей для целей 1, 21 записей для целей 2 и т. Д. ... в дату 2016-02-01, 2016-02-05 и т. Д. ... результат должен быть общей суммой цели и общая сумма цели должна быть сгруппирована по дате.MySql: выберите общий сгруппированных по две колонкам

Я попробовал этот запрос, но он не группируя дату во время многократного назначения найдено в тот же день:

SELECT SUM(amount) totalAmount FROM `transactions` WHERE purpose IN(1,2,12) GROUP BY date ORDER BY date DESC 

ответ

3

Вы должны группировать по дате и цели в этом случае:

SELECT 
    DATE(`date`) date, 
    `purpose`, 
    COUNT(`purpose`) purposeCount, 
    SUM(`amount`) totalAmount 
FROM 
    `transactions` 
WHERE 
    `purpose` IN (1, 2, 12) 
GROUP BY 
    DATE(`date`), 
    `purpose` 
ORDER BY 
    DATE(`date`) DESC 
+0

Он возвращает это : http://prntscr.com/aa64x9, где должны быть сгруппированы дата 2016-02-13, 2016-02-16 и 2016-02-18, но этого не произошло. –

+1

просто просто получите DATE из столбца datetime - см. Обновление. вы не упомянули, что дата на самом деле в формате даты и времени. – mitkosoft

+0

Спасибо, да, проблема была в формате даты. Он решил ..! –

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