【发布时间】:2013-08-07 21:37:49
【问题描述】:
我在 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 也是一样。
谢谢
【问题讨论】:
-
。 .该查询看起来像您想要的那样(假设您没有多年的记录)。你有问题吗?
-
假设这个问题只有一个站点...您真的想要每月一条记录吗?还是每年每个月都有一条记录?换句话说,您希望 2012 年 1 月和 2013 年 1 月是单独的记录还是合并为一个记录?
-
按照下面 Brian 的建议,我添加了一个字段来指定我想要的年份;我之前忽略了这个问题。戈登,这只是为每个站点返回一个值,我想要每个站点/月组合的值,如下所示
标签: mysql sql timestamp group-by