根据时间戳选择行作为月份

时间:2015-10-22 16:24:35

标签: mysql sql sql-server timestamp

我有一个表 - 帐户,它有3列:id,timestamp和value。 我需要创建一个返回表的查询,该表在每一行中都是月份(2,3等)以及本月值的总和。

例如:如果我的表从1月开始有3行,从2月开始有1行,则查询将返回第一行中的两行表,它将是1和1月的总和。值,第二个将是2和2月值的总和。

我不知道如何开始。有谁可以帮助我?

2 个答案:

答案 0 :(得分:1)

您需要做的就是对值进行求和,并使用mysql的MONTH()函数从时间戳中提取月份

SELECT SUM(value) as total_amount, MONTH(timestamp) as month_num
FROM table
GROUP BY month_num

当您具有聚合函数(在我们的示例中为SUM)时,将使用GROUP BY来了解如何对公共字段进行分组。没有一个小组你将把所有行汇总在一起

答案 1 :(得分:0)

SQL Server可以使用DATEPART函数。

SELECT DATEPART(MONTH, your_date_column) AS month_
, SUM(your_value) AS value_

FROM your_table 

GROUP BY DATEPART(MONTH, your_date_column)
相关问题