Resultados do grupo em subgrupos

Eu tenho tentado obter o subgrupo total dos dados abaixo usando o método na resposta aceita aqui: como agrupar resultados em subgrupos no php , mas sem sucesso. Alguém por favor, ajude.

Eu quero isso:

+---------------+-----------------+ | Type | Price | +---------------+-----------------+ | Music | 19.99 | | Music | 3.99 | | Music | 21.55 | | Toy | 89.95 | | Toy | 3.99 | +---------------+-----------------+ 

exibido como este:

 Music | 45.53 Toy | 93.94 

em grupo e subtotal.

Experimente isso …

 // Get the sum $group = array(); foreach($rows as $r){ $group[$r->type] = $group[$r->Type] + $r->Price; } // Display foreach($group as $type=>$price){ echo "Type:".$type." Price: ".$price; } 

Você deve fazê-lo diretamente no MySQL quando você executar a consulta (se possível):

 SELECT DISTINCT Type, SUM(Price) as Total FROM table_name GROUP BY Type 

Você pode selecionar a sum dos preços, depois agrupar os subtotais por tipo. Usei essa instrução SQL em um script PHP;

 SELECT SUM(Price) AS Total, Type FROM Table GROUP BY Type 

Em seguida, executei a declaração SQL e fiz eco dos resultados em um simples loop foreach. Parece que funciona bem comigo.