我正在尝试按月对一些寄存器进行分组,添加它们的值,但到目前为止还没有成功。我一直在查看这些问题,但没有找到这个问题。
我的 table 是这样的:
+----+------------+--------+--------+ | Id | Date | Field1 | 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 | +----+------------+--------+--------+
我想以此结束:
+---------+--------+--------+ | Date | Field1 | 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/