【发布时间】:2019-04-15 17:09:41
【问题描述】:
我有过去 3 年每 60 分钟的间隔数据 (Value)。时间戳的数据类型是datetimeoffset(7)。每个时间间隔的时间戳代表时间段的结束。
例如,时间戳2016-12-31 07:00:00.0000000 +01:00 处的值323.459 是从2016-12-31 06:00:00.0000000 +01:00 到2016-12-31 07:00:00.0000000 +01:00 的时间段。以下是更多示例数据:
DateTime Value
2016-12-31 06:00:00.0000000 +01:00 314.5300000000
2016-12-31 07:00:00.0000000 +01:00 323.4590000000
2016-12-31 08:00:00.0000000 +01:00 314.3110000000
2016-12-31 09:00:00.0000000 +01:00 611.7280000000
2016-12-31 10:00:00.0000000 +01:00 507.1300000000
2016-12-31 11:00:00.0000000 +01:00 533.3160000000
2016-12-31 12:00:00.0000000 +01:00 524.4510000000
2016-12-31 13:00:00.0000000 +01:00 507.0540000000
2016-12-31 14:00:00.0000000 +01:00 498.2340000000
2016-12-31 15:00:00.0000000 +01:00 507.0230000000
2016-12-31 16:00:00.0000000 +01:00 498.1710000000
2016-12-31 17:00:00.0000000 +01:00 506.9680000000
2016-12-31 18:00:00.0000000 +01:00 506.9730000000
2016-12-31 19:00:00.0000000 +01:00 507.0090000000
2016-12-31 20:00:00.0000000 +01:00 498.2780000000
2016-12-31 21:00:00.0000000 +01:00 463.2640000000
2016-12-31 22:00:00.0000000 +01:00 507.0490000000
2016-12-31 23:00:00.0000000 +01:00 454.7290000000
2017-01-01 00:00:00.0000000 +01:00 419.7010000000
2017-01-01 01:00:00.0000000 +01:00 628.9020000000
2017-01-01 02:00:00.0000000 +01:00 541.9210000000
2017-01-01 03:00:00.0000000 +01:00 533.1670000000
2017-01-01 04:00:00.0000000 +01:00 515.5930000000
2017-01-01 05:00:00.0000000 +01:00 454.7160000000
2017-01-01 06:00:00.0000000 +01:00 445.8340000000
我想知道每个月的总数。所以 2017 年 1 月期间将使用这些日期:2017-01-01 06:00:00.0000000 +01:00 到 2017-02-01 06:00:00.0000000 +01:00
2017 年 2 月受以下日期限制:2017-02-01 06:00:00.0000000 +01:00 至 2017-03-01 06:00:00.0000000 +01:00
这些都是例子。我想知道我的数据集中所有月份的总数。如何编写查询以获取按月分组的 Value 列的总数?
【问题讨论】:
标签: sql sql-server datetime group-by