MySQL: Cast unsigned column to signed when calculate

Error "Numeric value out of range" when calculate with unsigned column and result is negative. Solution is CAST column to signed before calculate:
SUM(column1 - column2) as total
to
SUM(CAST(column1 AS SIGNED) - CAST(column2 AS SIGNED)) as total