Vous devez additionner les champs et diviser par le nombre de champs. Si votre Average
le champ est de DECIMAL
type, vous n'avez même pas vraiment besoin de spécifier le ROUND
fonction. Toute décimale dépassant la déclaration sera simplement tronquée (SQL Fiddle
) :
UPDATE table_name
SET AVERAGE = (grade1 + grade2) / 2;
Dans votre exemple, vous n'avez que deux champs dont vous obtenez la moyenne. Donc Average decimal(3,1)
fonctionnerait pour vous puisque le maximum de la partie décimale sera .5
. Donc le ROUND
la fonction n'est clairement pas nécessaire.