mysql - 按月/年分组并对所有数据求和

标签 mysql group-by sum

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

我的 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/

相关文章:

mysql - 查找有关日期和标题的重复条目

MySQL 4 表连接

Mysql v5.1.50 在不同的计算机上返回字符串而不是小数

sql - 使用 PostgreSQL 为符合条件的一组记录生成簇字段

python - 使用 Jinja2 grouby 过滤器出现属性错误

java - 使用 sum 方法获取数组的总和

mysql - 带连接的聚合函数

mysql - 在 mysql 中创建带约束或不带约束的主键

java - 如何通过Hibernate向mysql表添加数据(一对多)

c# - 我如何在 LINQ 查询中执行此聚合、分组依据?