2016-03-02 126 views
0

我有一个表transactions是这样的:http://prntscr.com/aa5vg6 我想通过purposedate列来选择总金额组。如:在2016-02-01,2016-02-05等日期找到10条记录1,21条记录2,等等......结果应该是目的总数和目的总数应按日期分组。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

只需从datetime列中获取DATE - 查看更新。你没有提到日期实际上是日期时间格式。 – mitkosoft

+0

谢谢,是的问题是日期格式。它解决了..! –