La forma anterior te devuelve dos registros, uno con la suma de los positivos (dd=1) y otro con la suma de los negativos (dd=0).
Otra manera es con:
Código SQL
[-]
select
sum(if(dd == 1, a, 0)) as positivos,
sum(if(dd == 0, a, 0)) as negativos
from x
que te devuelve un solo registro con dos columnas.
// Saludos