SQL CE 返回时间范围的总和值
SQL CE give back summed values of timeranges
给定一个 table 包含以下条目(经过简化以获得想法)
timestamp | value 1 | value 2
60 12 0
120 13 0
180 10 12
240 8 0
....
3600 11 0
3660 41 12
3720 14 8
....
- Table 记录了整整一年的每一分钟(525600 条记录)
- 时间戳是主键
- 使用 SQL Server Compact aka SQL V4 中的 CE
任务是获取每小时每个 value-col 的总和值,因此不仅仅是行 #3600(= 1 小时)值 #1 : 11(可以通过模数完成),而是所有以前的值这个小时总和 (12 + 13 + 10 + 8 + ... + 11).
是否有 SQL 查询来实现此目的?
除非我误解了,否则您应该可以使用 GROUP BY 来执行此操作,假设时间戳是一个整数
SELECT [timestamp]/3600 AS HourNumber,
SUM(value1) AS Total1,
SUM(value2) AS Total2
FROM #data
GROUP BY [timestamp]/3600
我没有使用过 SQL CE,但我无法想象它在诸如整数算术和基本分组这样基础的东西上会有什么不同
给定一个 table 包含以下条目(经过简化以获得想法)
timestamp | value 1 | value 2
60 12 0
120 13 0
180 10 12
240 8 0
....
3600 11 0
3660 41 12
3720 14 8
....
- Table 记录了整整一年的每一分钟(525600 条记录)
- 时间戳是主键
- 使用 SQL Server Compact aka SQL V4 中的 CE
任务是获取每小时每个 value-col 的总和值,因此不仅仅是行 #3600(= 1 小时)值 #1 : 11(可以通过模数完成),而是所有以前的值这个小时总和 (12 + 13 + 10 + 8 + ... + 11).
是否有 SQL 查询来实现此目的?
除非我误解了,否则您应该可以使用 GROUP BY 来执行此操作,假设时间戳是一个整数
SELECT [timestamp]/3600 AS HourNumber,
SUM(value1) AS Total1,
SUM(value2) AS Total2
FROM #data
GROUP BY [timestamp]/3600
我没有使用过 SQL CE,但我无法想象它在诸如整数算术和基本分组这样基础的东西上会有什么不同