0

さまざまな反復回数でシミュレーションを実行すると、反復ごとにtable1、table2、table3などの出力テーブルが作成されます。これらはすべて次のような同じ構造になっています。

ID | 価値

ただし、行数はさまざまです。

各テーブルについて、「value」列の平均を計算し、次のような「averages」列を持つ新しいテーブルに表示します。

tableNumber | 平均値

  1     |      516
  2     |      512
  3     |      521
 ...    |      ...

テーブルの数が非常に多い場合、SQliteでこれは可能ですか?そうでない場合、どうすればこれを別の方法で達成できますか?

よろしくお願いします:-)

4

1 に答える 1

0

異なるテーブルを作成する代わりに、結果を同じテーブルに配置し、行が属するバッチまたはセットを示す列を作成します。次に、テーブルをクエリするときに、その列でフィルタリングして、目的のバッチ/セットでのみ作業するようにすることができます。その列にインデックスを付けて、クエリの効率を向上させ、クエリの実行を高速化します。平均結果を別々のテーブルに保存する必要もありません。クエリは、結果を別のテーブルのデータとして永続化することなく、結果を生成できます。

        select batch, avg(value) as AvgValue
        from simulation           
        where batch = 100
        group by batch
于 2013-03-13T10:08:43.010 に答える