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.