我正在尝试按月对一些寄存器进行分组,增加它们的值,但是到目前为止还没有成功。我一直在研究这些问题,但没有找到这个问题。

我的桌子是这样的:

+ ---- + ------------ ++ -------- + -------- +
| ID |日期栏位1 | Field2 |
+ ---- + ------------ ++ -------- + -------- +
| 1 | 2014-02-01 | 4 | 5 |
| 2 | 2014-02-01 | 2 | 9 |
| 3 | 2014-02-20 | 2 | 6 |
| 4 | 2014-03-01 | 1 | 4 |
| 5 | 2014-04-03 | 1 | 5 |
+ ---- + ------------ ++ -------- + -------- +


我想以此结束:

+ --------- + -------- + -------- +
|日期栏位1 | Field2 |
+ --------- + -------- + -------- +
| 2014-02 | 8 | 20 |
| 2014-03 | 1 | 4 |
| 2014-04 | 1 | 5 |
+ --------- + -------- + -------- +


有什么建议吗?

最佳答案

一种方法是将MySQL的DATE_FORMAT()函数的结果分组:

SELECT   DATE_FORMAT(Date, '%Y-%m') Date, SUM(Field1) Field1, SUM(Field2) Field2
FROM     my_table
GROUP BY DATE_FORMAT(Date, '%Y-%m')


sqlfiddle上查看。

关于mysql - 按月/年分组并汇总所有数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22235197/

10-15 18:44