9

我真的不擅长 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 也是如此。

谢谢

4

1 回答 1

14
SELECT month('TIMESTAMP'), SUM( electricity ) AS electricity,  `siteID` 
FROM table
WHERE (
MONTH(  `TimeStamp` ) =10)
GROUP BY siteID, month('TIMESTAMP')

这将起作用。你必须考虑的一件事是那个月不是唯一的。在这种情况下,2012 年 10 月与 2013 年 10 月相同。您可能希望为年份添加另一列。

于 2013-08-06T18:24:20.520 回答