Tôi đang sử dụng SQL Server 2008 R2 và tôi có một cột INT
nơi dữ liệu chèn không bao giờ vượt qua max INT
, nhưng tôi có một truy vấn trong đó sử dụng các SUM
chức năng mà khi thực hiện vượt quá giới hạn tối đa INT
và ném các lỗi nêu trong tiêu đề.Làm thế nào để ngăn chặn lỗi tràn số học khi sử dụng cột SUM trên INT?
Tôi muốn có thể thực hiện truy vấn này mà không thay đổi loại cột từ INT
thành BIGINT
.
Đây là câu hỏi của tôi:
SELECT UserId,
SUM(PokemonExp) AS TotalExp,
MAX(PokemonLevel) AS MaxPokeLevel
FROM mytable
GROUP BY UserId
ORDER BY TotalExp DESC
Lưu ý: Cột PokemonExp
là loại INT
.
câu trả lời đúng thank you very much – MonsterMMORPG
Đối với những gì nó có giá trị, tương tự có thể xảy ra với AVG, ngay cả khi nó chỉ là tổng các giá trị của bạn đó là tràn. –