微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL查询按时间戳记的月份部分分组

如何解决SQL查询按时间戳记的月份部分分组

SELECT month(‘TIMESTAMP’), SUM( electricity ) AS electricity, siteID FROM table WHERE ( MONTH( TimeStamp ) =10) GROUP BY siteID, month(‘TIMESTAMP’)

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

解决方法

我对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         #
#########################################

我要做的是总结每个站点每个月的所有日子,以便每个站点每个月有一个答案。因此,在此示例中,查询应返回siteID100的电费之和,因为它们都在第10个月,而对于siteID 98和94则相同。

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。