U moet de velden bij elkaar optellen en delen door het aantal velden. Als uw Average veld is van DECIMAL type hoeft u niet eens de ROUND op te geven functie. Elke decimaal die de declaratie overschrijdt, wordt gewoon afgekapt (SQL Fiddle
) :
UPDATE table_name
SET AVERAGE = (grade1 + grade2) / 2;
In uw voorbeeld heeft u slechts twee velden waarvan u het gemiddelde krijgt. Dus Average decimal(3,1) zou voor u werken, aangezien het hoogste deel ooit zal zijn .5 . Dus de ROUND functie is duidelijk niet nodig.