He tomado  como nota lo que me comentas , tiens razon  puede saber todas en una sola query, y  asi es  en la consola de sql si me manda los datos de cada  carrera, pero cuando lo paso por php, solo me imprime los resultados, osea  los numeros, y no me sale  el nombre de columna .
   Código PHP:
    $query = mysql_query ("SELECT count(*) as total_sexo_m_especialidad, usuarios.Especialidad FROM 
usuarios JOIN sesiones 
WHERE usuarios.Numero_Control = sesiones.Numero_Control 
AND usuarios.Sexo = 'M' 
AND MONTH( Fecha ) =11 
AND YEAR( Fecha ) =2012 
GROUP BY usuarios.especialidad 
LIMIT 0 , 30",$conx);
   
  
  while ($row = mysql_fetch_assoc($query)) 
echo $row['total_sexo_m_especialidad'];
echo " -- ";
echo $row['nombre_especialidad'];
echo "<br>" 
    
  
lo  que me sale en pantalla solo  es : 
112911741410853672 -- 
no me estan saliendo las columnas y filas . 
Nota: cuando le pongo corchetes en el ciclo , no me muetra nada y marca error, no se que tengo mal. 
saludos