-1

これが私のテーブルです

GID | 距離 (キロ) | サブディスタンス (KM) | Iri_avg
--------------------------------------------------
 1 | 13.952 | 0 | 0.34
 2 | 13.957 | 0.005 | 0.22
 3 | 13.962 | 0.010 | 0.33
 4 | 13.967 | 0.015 | 0.12
 5 | 13.972 | 0.020 | 0.35
 ...

Iri_avgたとえば、各範囲のAVGを見つけたい..

5 メートルごと (デフォルト) 10 メートルごと 100 メートルごと 500 メートルごと

この問題を解決するための PostgreSQL クエリは何ですか?

4

1 に答える 1

1

あなたの質問は不明です。データには 2 つの距離列がありますが、どちらを意味しますか?

サブディスタンスに基づいて平均を取得する方法の例を次に示します。

select floor(subdistance*1000)/5.0)*5.0 as lower_bound, avg(iri_avg) as avg_ari_avg
from t
group by floor(subdistance*1000)/5.0)*5.0
order by 1

式 "floor(subdistance*1000)/5.0)*5.0" は、値よりも小さい最も近い 5 メートルの増分を取得します。他のビニングでは、「5」を「10」または「100」に置き換えることができます。

これは、例としての意味です。どの列をビン化するか、空のビンをどうしたいか、単一のクエリですべてのビン幅を探しているのか、1 つのビン幅だけを処理するクエリを探しているのかが不明です。

于 2012-07-28T13:07:23.817 に答える