我一直在尝试使用接受的答案中的方法获取以下数据的子组:how to group result in subgroups in php,但无济于事。有人请帮忙。
我想要这个:
+---------------+-----------------+
| Type | Price |
+---------------+-----------------+
| Music | 19.99 |
| Music | 3.99 |
| Music | 21.55 |
| Toy | 89.95 |
| Toy | 3.99 |
+---------------+-----------------+
显示如下:
Music | 45.53
Toy | 93.94
分组和小计。
答案 0 :(得分:1)
执行查询时,您应该直接在MySQL中执行此操作(如果可能):
SELECT DISTINCT Type, SUM(Price) as Total FROM table_name GROUP BY Type
答案 1 :(得分:1)
您可以选择价格总和,然后按类型对小计进行分组。我在PHP脚本中使用了这个SQL语句;
SELECT SUM(Price) AS Total, Type FROM Table GROUP BY Type
然后我执行了SQL语句并在一个简单的foreach循环中回显结果。它看起来对我很好。
答案 2 :(得分: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;
}