假设我有以下表格 -
CREATE TABLE data_points (t DATETIME PRIMARY KEY, value INTEGER);
我想通过计算表格中每10个点的平均值来汇总数据。
即。如果表有20个数据点,则结果是两个聚合点。第1个聚合点指向1-10个数据点的平均值,11-20个点的第2个。
这是否可以使用SQL查询?
答案 0 :(得分:0)
SELECT AVG([VALUE]) OVER (PARTITION by par), *
FROM (
SELECT ((ROW_NUMBER() OVER(ORDER BY [VALUE]))-1)/10 par, * FROM TableName
)X
答案 1 :(得分:0)
这个似乎在MYSQL中做你想要的。
SELECT
avg(value) as `average`,
10*FLOOR(value/10) AS `valueBucket`,
CONCAT(10*FLOOR(value/10),'-',10*FLOOR(value/10)+9) AS `range`
FROM
data_points
GROUP BY
valuebucket
;