0

次の表があるとします-

CREATE TABLE data_points (t DATETIME PRIMARY KEY, value INTEGER);

テーブル内の 10 ポイントごとの平均を計算してデータを集計したいと考えています。

つまり、テーブルに 20 個のデータ ポイントがある場合、結果は 2 つの集計ポイントになります。1 番目の集計ポイントは 1 ~ 10 データ ポイントの平均であり、2 番目は 11 ~ 20 のデータ ポイントの平均です。

これは SQL クエリを使用して可能ですか?

4

2 に答える 2

0

This one seem to do what you want in 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
;

http://sqlfiddle.com/#!2/b4468/53/0

于 2012-12-15T09:29:25.687 に答える
0

これのことですか?クエリは MS SQL サーバーで動作します。

SELECT AVG([VALUE]) OVER (PARTITION by par), * 
FROM (
    SELECT ((ROW_NUMBER() OVER(ORDER BY [VALUE]))-1)/10 par, * FROM TableName
)X
于 2012-12-15T09:08:55.557 に答える