Yes, the case expression ends with the end keyword. The alias must go after it.
Databases usually have a function that allows to convert nulls to some value. In Oracle, for example, that would be NVL, and you could write:
Or, if you want to stick to ANSI syntax, you could convert nulls to zero before putting it to the aggregation function:
I don't expect any performance differences here. These alternatives might just make the expression more readable.