2017-05-22 26 views
0

私は3つのテーブル(t1、t2、t3)の和集合を持っています。MySQLの3つのテーブルの和集合による平均を計算する簡単な方法

 1 10 
     2 20 
     3 20 

     1 30 
     2 30 
     3 10 

     1 20 
     2 40 
     3 60 

平均を計算するまでにのみ取得するためのSQLで簡単な方法があります:

 1 20 
     2 30 
     3 30 

は、新しい可能な各レコードの同じ数、最初の列にid、第二の量がされて正確に戻ります別のテーブルに値のストアt4のPHPコードですか?

答えて

3

平均を取得する1つの方法は、SQL AVG()集合関数を使用することです。

"per id"の平均が必要な場合は、GROUP BY句を含める必要があります。

テーブル参照の代わりにインラインビュークエリを使用できます。 (MySQLは派生テーブルとしてこれに言及

ここでクエリがどのように見えるかの例を示します。1以上の列amount1が、それを計算することができるか、その後追加された場合

SELECT t.id 
    , AVG(t.amount) AS avg_amount 
    FROM (SELECT t1.id 
       , t1.amount 
      FROM t1 
      UNION ALL 
     SELECT t2.id 
       , t2.amount 
      FROM t2 
      UNION ALL 
     SELECT t3.id 
       , t3.amount 
      FROM t3 
     ) t 
GROUP BY t.id 
ORDER BY t.id 
+0

? –

関連する問題