SQL查询按月份分组时间戳

Sam*_*mer 6 mysql sql timestamp group-by

我对SQL查询非常不满意,但我正在学习,请原谅这个问题.

这是我目前的查询:

SELECT TIMESTAMP, SUM( electricity ) AS electricity,  `siteID` 
FROM table
WHERE (
MONTH(  `TimeStamp` ) =10)
GROUP BY siteID
Run Code Online (Sandbox Code Playgroud)

我的表看起来像:

#########################################
# Id # SiteID # TimeStamp  # Elecricity #
# 0  # 100    # 10/08/2012 # 50         #
# 1  # 98     # 10/08/2012 # 32         #
# 2  # 100    # 10/09/2012 # 96         #
# 3  # 94     # 10/09/2012 # 25         #
# 4  # 100    # 10/10/2012 # 100        #
# 5  # 100    # 10/11/2012 # 55         #
#########################################
Run Code Online (Sandbox Code Playgroud)

我想要做的是总结每个站点每个月的所有日子,这样我每个站点和月份都会有一个答案.因此,在此示例中,查询应返回siteID 100的电力值之和,因为它们都在第10个月,对于siteID 98和94都是相同的.

谢谢

Bri*_*ver 11

SELECT month('TIMESTAMP'), SUM( electricity ) AS electricity,  `siteID` 
FROM table
WHERE (
MONTH(  `TimeStamp` ) =10)
GROUP BY siteID, month('TIMESTAMP')
Run Code Online (Sandbox Code Playgroud)

这会奏效.你要考虑的一件事是月份不是唯一的.在这种情况下,2012年10月与2013年10月相同.您可能希望在年份中添加另一列.