フィールドを合計し、フィールドの数で割る必要があります。 Average
の場合 フィールドはDECIMAL
です ROUND
を指定する必要さえないタイプ 関数。宣言を超える小数点はすべて切り捨てられます( SQL Fiddle
):
UPDATE table_name
SET AVERAGE = (grade1 + grade2) / 2;
あなたの例では、平均を取得しているフィールドは2つだけです。したがって、Average decimal(3,1)
小数点以下の部分のほとんどが.5
であるため、これでうまくいきます。 。つまり、ROUND
機能は明らかに必要ありません。