Podrías hacer lo siguiente:
Código PHP:
$resultado = mysql_query($query); //resultado de la consulta
$row = mysql_fetch_assoc($resultado); //extraes el primer registro
$codigo = $row['cod_suc']; //asignas datos a variables
$directo = $row['DIRECTO'];
$indirecto = $row['INDIRECTO'];
$corp = $row['CORPORATIVO'];
while ($reg = mysql_fetch_assoc) //sigues sacando registros
{
if ($reg['cod_suc'] == $codigo) //si los códigos son iguales sumas los valores
{
$directo += $reg['DIRECTO'];
$indirecto += $reg['INDIRECTO'];
$corp += $reg['CORPORATIVO'];
}
else { //si los códigos son distintos
//imprimes registro
// (Aquí va el código para imprimir la fila usando las variables $codigo, $directo, $indirecto y $corp).
// asignas nuevos datos
$codigo = $reg['cod_suc'];
$directo = $reg['DIRECTO'];
$indirecto = $reg['INDIRECTO'];
$corp = $reg['CORPORATIVO'];
}
}
Yo creo que esto te puede funcionar.
Mi única duda es si después de sacar el primer registro, al seguir sacando registros con el while, continuaría con el segundo registro o empezaría de nuevo. Pruébalo a ver como va, para ver los fallos que pueda tener el algoritmo.