标签: mysql sql select
我在数据库中有一行数据,这些数据的日期为DATETIME。还有另一个名为points的列。
DATETIME
我需要计算每个月的所有积分,并按月顺序返回每月总积分列表,其中大部分积分都会下降。
我不确定在按月选择行时从哪里开始?
答案 0 :(得分:1)
您可以分别使用monthname(或month)和year从日期中提取月份和年份,并按其分组:
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子句中的年份表达式。
select
group by