Группировка результатов в подгруппах - PullRequest
1 голос
/ 06 января 2012

Я пытался получить общее количество данных в подгруппах ниже, используя метод в принятом ответе здесь: как группировать результат в подгруппах в php , но безрезультатно.Кто-нибудь, пожалуйста, помогите.

Я хочу это:

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

отображается как это:

Music | 45.53
Toy   | 93.94

в группе и подытоге.

Ответы [ 3 ]

1 голос
/ 06 января 2012

Вы можете выбрать сумму цен, а затем сгруппировать промежуточные итоги по типу.Я использовал этот оператор SQL в сценарии PHP;

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

Затем я выполнил оператор SQL и повторил результаты в простом цикле foreach.Похоже, со мной все в порядке.

1 голос
/ 06 января 2012

Вы должны сделать это непосредственно в MySQL, когда выполняете запрос (если возможно):

SELECT DISTINCT Type, SUM(Price) as Total FROM table_name GROUP BY Type
0 голосов
/ 06 января 2012

Попробуйте это ...

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