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.