2011-12-27 96 views
0

我有一个查询返回下面的连接两个表:如何计算小组总数?

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

我的问题是我怎么组产品按类型,因此它显示每个产品类型单一的产品类型和总价格是多少?例如:

Music | 45.53 
Toy | 93.94 

等等。

+3

这将帮助我们修改您的查询,如果您给我们查询... – DaveRandom 2011-12-27 23:44:15

+0

遗憾的响应延迟。查询非常混乱,并以一种复杂的方式连接三个表格。无论如何,只需使用php就能获得理想的结果。显示阵列中的产品类型,检查下一个产品类型是否与显示的产品类型相同;如果是这样,则将价格添加到现有产品类型否则显示新的产品类型。如果仅仅是单个表格查询,下面的建议方法将是合适的。只要有机会,我可以尽快发布查询,如果仍然需要的话。目前无法访问 – echez 2011-12-28 00:55:54

回答

0

明白了最后。

// 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; 
} 

原帖在这里:Group results in subgroups

1
mysql> select type, round(sum(price),2) sum from storage group by type; 
+-------+-------+ 
| type | sum | 
+-------+-------+ 
| Music | 45.53 | 
| Toy | 93.94 | 
+-------+-------+ 
2 rows in set (0.11 sec) 
+0

'GROUP BY Type'请... – Matmarbon 2011-12-27 23:45:16

+0

@Matmarbon完全混淆了它。现在修复它。 – kba 2011-12-27 23:47:46

+0

尽管-1不是我的:/ – Matmarbon 2011-12-27 23:49:51

7
SELECT type, SUM(price) FROM table_name GROUP BY (type)