2014-11-21 41 views
1

我有一個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 

在這裏我要總結每個月的天數值。

如何使這樣的要求?

回答

1

使用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 
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') 
相關問題