选择数据行数月

时间:2015-09-29 15:54:52

标签: mysql sql select

我在数据库中有一行数据,这些数据的日期为DATETIME。还有另一个名为points的列。

我需要计算每个月的所有积分,并按月顺序返回每月总积分列表,其中大部分积分都会下降。

我不确定在按月选择行时从哪里开始?

1 个答案:

答案 0 :(得分:1)

您可以分别使用monthname(或month)和year从日期中提取月份和年份,并按其分组:

SELECT   YEAR(`date`), MONTHNAME(`date`), SUM(`points`)
FROM     mytable
GROUP BY YEAR(`date`), MONTHNAME(`date`)
ORDER BY 3 DESC

请注意,如果您的表代表一年,或者您想计算多年总计,则应省略select列表和group by子句中的年份表达式。