mysql按日期选择总和组

39 mysql select group-by

快问,我有下表

+-------------+---------------------+
| total       | o_date              |
+-------------+---------------------+
|          35 | 01-11-2009 19:32:44 | 
|        41.5 | 01-12-2009 22:33:49 | 
|        61.5 | 01-23-2009 22:08:24 | 
|          66 | 02-01-2009 22:33:57 | 
|       22.22 | 02-01-2009 22:37:34 | 
|       29.84 | 04-20-2009 15:23:49 | 
+-------------+---------------------+
Run Code Online (Sandbox Code Playgroud)

我想将每个月的总数加起来并按月分组.所以例如Jan-> 138 Feb-> 88.2 Apr-> 29.84

关于它的任何线索.谢谢

Sim*_*Fox 76

此解决方案将为您提供结果集列的月份名称,后跟所需的总计.

SELECT MONTHNAME(o_date), SUM(total) 
FROM theTable
GROUP BY YEAR(o_date), MONTH(o_date)
Run Code Online (Sandbox Code Playgroud)

  • 或者,要以您指定的格式获取它,您可以执行 SELECT CONCAT(MONTHNAME(o_date), '-> ', SUM(total)) (2认同)

Tod*_*ner 8

select year(o_date), month(o_date), sum(total)
from table
group by year(o_date), month(o_date);
Run Code Online (Sandbox Code Playgroud)


小智 6

从 MySQL 数据库中获取月和年明智的数据:

SELECT MONTHNAME(o_date), YEAR(o_date), SUM(total) 
FROM the_table 
GROUP BY YEAR(date), MONTH(date)
Run Code Online (Sandbox Code Playgroud)