0

MySQL データベースには、いくつかの農地の多数の植生指数を含むビュー (view_one) があります。フィールドは、プロット、トランセクト、およびポイントにさらに分割されます。

基本的なテーブルのデザインは次のとおりです。

メジャー ID | フィールド ID | プロット ID | トランセクト | ポイント | vegetation_index_1 | .... |

プロットごとの植生指数の平均値とそれぞれの標準偏差の 2 つ目のビューを作成します。

create view plot_avgs (measure_id, field_id, plot_id, avg_VI1, stddev_VI1, ... as select measure_id, field_id, plot_id, avg(VI1), stddev_samp(VI1), ... from view_one group by measure_id, field_id, plot_id;

私が欲しいのは、プロットの標準偏差、つまりサンプルの標準偏差です(stddev_samp())。

stddev(plot_avg)ただし、MySQL から得られるのは、 、std(plot_avg)stddev_pop(plot_avg)またはの使用に関係なく、母集団の stddev ですstddev_samp(plot_avg)

私が使用している集計によるグループと関係があると思われます。

誰が私を助けることができますか? ありがとう。

4

1 に答える 1

0

わかりました私は自分で物事を解決しました:

as select ... from ...ビューを作成するつもりだったのとまったく同じステートメントを使用し、クエリを実行するか、それを使用してテーブルを作成すると、サンプル (プロット) の目的の標準偏差が得られます。質問で説明されているように、これはビューの作成時には発生しません。

そこで、ビューの代わりにパーマネント テーブルを使用し、生データ テーブルに新しいデータを挿入するたびにトリガーによって更新するようにします。

于 2013-06-10T11:35:56.217 に答える