MySql:选择按两列分组的总数

时间:2016-03-02 08:52:53

标签: php mysql

我有一张transactions这样的表:http://prntscr.com/aa5vg6 我想按purposedate列选择总金额组。如:在2016-02-01,2016-02-05等日期发现10条目的1条记录,21条目的2条等等......结果应该是目的总和目的总数应按日期分组。

我尝试了这个查询,但是在同一日期找到多个目的时,它无法对日期进行分组:

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

1 个答案:

答案 0 :(得分: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