Holas Clicky
Yo te sugeriría que no agruparas el resultado de la consulta, que sólo lo ordenaras según como quieres que se muestre en la tabla.
Luego, cuando recibes el valor en tu script php, vas comparando cada nueva fila con la anterior: si el Tipo, Nombre, en general los campos que se repiten, es igual al de la fila anterior, no generas el html de las celdas de ese tipo (no muestras los datos) y sólo muestras la celda con el dato de Plan, que es el que sí cambia.
Algo como:
Código PHP:
<?
$sql = mysql_query("tu consultota");
$ult_tipo = false;
while ($fila = mysql_fetch_array($sql))
{
if ($ult_tipo != $fila["tipo"])
{
// aqui debes cerrar la ultima celda abierta de la fila anterior.
// en el caso de ser la primera fila, deja la fila del encabezado abierta para que
// al ejecutarse esto, cuadren las celdas.
?>
</td>
</tr>
<tr>
<td><?= $fila["tipo"]; ?></td>
<td><?= $fila["nombre"]; ?></td>
<td><?= $fila["plan"]; ?>
<?
}
else
{
// aqui imprimes un nuevo plan en la misma celda anterior, sin agregar todo lo otro
print $fila["plan"]." <br>\n";
}
$ult_tipo = $fila["tipo"];
} //fin while
?>