我有一个带有字段的mysql表:
id - primary key
values - some double values
dt = datetime
这张表有很多记录。表中的每个条目对应一天,以dt记录。
如何从某个日期算起计算月份值的总和?
例如,我想从指定日期获取值。我只是向表格发送请求
SELECT `values` FROM `some_table` WHERE `dt` >= '2014-11-21 21:26:00' LIMIT 7
在这里,我必须总结每个月的天数值。
如何提出这样的要求?
答案 0 :(得分:3)
使用EXTRACT
。然后,您可以对年份和月份进行分组,并获得它们的值的总和。
SELECT
EXTRACT(MONTH FROM dt) as month,
EXTRACT(YEAR FROM dt) as year,
SUM(values) as total
FROM
some_table
GROUP BY
month,
year
ORDER BY
year DESC,
month DESC
答案 1 :(得分:0)
您可以使用DATE_FORMAT()功能从日期列中提取年份和月份,然后您必须使用GROUP BY查询:
SELECT
DATE_FORMAT(`dt`, '%Y-%m') AS year_month,
SUM(values) AS total
FROM
some_table
WHERE
`dt` >= '2014-11-21 21:26:00'
GROUP BY
DATE_FORMAT(`dt`, '%Y-%m')