快速提问,我有下表
+-------------+---------------------+
| 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 |
+-------------+---------------------+
我想将每个月的总数加起来并按月分组。例如, Jan-> 138 2月 - > 88.2 Apr-> 29.84
关于它的任何线索。感谢
答案 0 :(得分:70)
此解决方案将为您提供月份名称作为结果集的列,然后根据需要提供总计。
SELECT MONTHNAME(o_date), SUM(total)
FROM theTable
GROUP BY YEAR(o_date), MONTH(o_date)
答案 1 :(得分:7)
select year(o_date), month(o_date), sum(total)
from table
group by year(o_date), month(o_date);
答案 2 :(得分:3)
我从过去的MySQL生活中回忆起像
这样的查询
SELECT LEFT(o_date, 7) month, SUM(total) FROM TABLE group BY month
正在使用o_date字段上的索引(遗憾的是我不保证YEAR()
和MONTH()
)。
您必须格式化month
字段,这很可能不会在任何其他数据库系统上编入索引...
答案 3 :(得分:3)
从MySQL数据库获取月份和年度数据:
SELECT MONTHNAME(o_date), YEAR(o_date), SUM(total)
FROM the_table
GROUP BY YEAR(date), MONTH(date)
答案 4 :(得分:2)
SELECT SUM(total)
FROM table
GROUP BY MONTH(o_date)
答案 5 :(得分:0)
尝试Group BY
,如下所示:
select count(A_id) As Tid,Day(CrDate) from Ap Group By Day(CrDate)
答案 6 :(得分:0)
这样对我工作:
SELECT MONTHNAME(date), SUM(`in`) as SOMA, date FROM transactions GROUP BY YEAR(date), MONTH(date)
但我只需要显示今年(2014年)的结果我该怎么做?
答案 7 :(得分:0)
SELECT year(FROM_UNIXTIME(created)) year, month(FROM_UNIXTIME(created)) month, sum(amount) total
FROM {my_table}
GROUP BY year, month
ORDER BY year, month;