我对SQL查询非常不满意,但我正在学习,请原谅这个问题。
这是我当前的查询:
SELECT TIMESTAMP, SUM( electricity ) AS electricity, `siteID`
FROM table
WHERE (
MONTH( `TimeStamp` ) =10)
GROUP BY siteID
我的表格如下:
#########################################
# 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 #
#########################################
我想要做的是总结每个网站每个月的所有日子,这样我每个网站和每个月都会有一个答案。因此,在此示例中,查询应返回siteID 100的电力值之和,因为它们都在第10个月,而对于siteID 98和94则相同。
由于
答案 0 :(得分:10)
SELECT month('TIMESTAMP'), SUM( electricity ) AS electricity, `siteID`
FROM table
WHERE (
MONTH( `TimeStamp` ) =10)
GROUP BY siteID, month('TIMESTAMP')
这会奏效。你要考虑的一件事是月份不是唯一的。在这种情况下,2012年10月与2013年10月相同。您可能希望在年份中添加另一列。