0

很难弄清楚它应该是一个基本的用例。给定每天写入的数据表('activity_date' date NOT NULL),将数据汇总到每月存储桶中。GROUP BY文档和日期类型文档没有多大帮助,我在 Google 上找不到任何教程。这里有一个类似的问题,但我不知道如何使它适用于我的情况。有没有一种简单的方法可以得到我需要的东西?

4

3 回答 3

2

按年和月分组怎么样?

SELECT YEAR(activity_date), MONTH(activity_date), COUNT(*)
FROM table
GROUP BY YEAR(activity_date), MONTH(activity_date)
于 2012-12-13T20:06:14.937 回答
2

在这种情况下,YEARandMONTH函数可能是您正在寻找的。也就是说,如果您想要每个不同月份的不同聚合数据(仅使用MONTH不使用年份将跨年份按月分组日期)。所以是这样的:

SELECT YEAR(activity_date) as `year`, MONTH(activity_date) as `month`, [other fields with aggregation functions]
FROM table
GROUP BY `year`, `month`
ORDER BY `year`, `month`
于 2012-12-13T20:08:56.940 回答
0

您可以在 GROUP BY 子句中使用函数,例如MONTH()

GROUP BY YEAR(activity_date), MONTH(activity_date)
于 2012-12-13T20:06:49.820 回答