Bạn cần thêm các trường lại với nhau và chia cho số trường. Nếu Average của bạn trường thuộc về DECIMAL nhập mà bạn thậm chí không thực sự cần chỉ định ROUND hàm số. Bất kỳ số thập phân nào vượt quá khai báo sẽ chỉ bị cắt bớt ( SQL Fiddle
):
UPDATE table_name
SET AVERAGE = (grade1 + grade2) / 2;
Trong ví dụ của bạn, bạn chỉ có hai trường mà bạn đang lấy trung bình. Vì vậy, Average decimal(3,1) sẽ phù hợp với bạn vì hầu hết phần thập phân sẽ là .5 . Vì vậy, ROUND chức năng rõ ràng là không cần thiết.