2014-01-07 179 views
3

我有一个表“TABLE”这样的总结式的数额。 我想总结每月/每年的付款金额。SQL查询按月/年

到目前为止,这是我尝试过的,但是我在EXTRACT和MONTH中遇到了错误,但是我很难完成这些年。

SELECT 
    EXTRACT(MONTH FROM Period) AS reference_month 
    , SUM(Paid) AS monthly_payments 
FROM Paid 
GROUP BY EXTRACT(MONTH FROM Period) 
ORDER BY EXTRACT(MONTH FROM Period) 

我在这方面不太方便,我非常感谢您的帮助。

+1

你使用什么数据库引擎(和版本)? –

回答

7
select year(date) as y, month(date) as m, sum(paid) as p 
from table 
group by year(date), month(date) 
+0

它工作完美。非常感谢。我现在有一个很好的例子来跟踪我需要的其他查询。 – Nullbyte

+0

很高兴我能帮忙! – davek

2
SELECT YEAR([Date]) AS [Year], MONTH([Date]) AS [Month], SUM(Paid) AS Total 
FROM TABLE_NAME 
GROUP BY YEAR([Date]), MONTH([Date]) 

你需要用方括号你的对象命名[]当你命名与SQL Server key words你的对象。

+0

感谢您的信息。我明白你在说什么。在这种情况下,我在我的问题中使用了简单的名称,但表中的真实姓名不是关键字。很高兴知道未来。谢谢 – Nullbyte