【问题标题】:SQl query to sum-up amounts by month/yearSQl 查询按月/年汇总金额
【发布时间】:2018-07-20 04:49:53
【问题描述】:

我有一个像这样的表“TABLE”:

Date(datatime)
Paid(int)

我每个月有多个“付费”金额。 我想总结每月/每年的支付金额。

到目前为止,这是我尝试过的,但我在 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)

我在这方面不是很方便,我非常感谢一些帮助。

【问题讨论】:

  • 您使用的是什么数据库引擎(和版本)?

标签: sql-server


【解决方案1】:
select year(date) as y, month(date) as m, sum(paid) as p
from table
group by year(date), month(date)

【讨论】:

  • 它运行良好。非常感谢。对于我需要的其他查询,我现在有了一个很好的示例。
【解决方案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 命名对象时,您需要在对象名称 [] 周围使用方括号。

【讨论】:

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