2013-09-07 6 views
-1

Я использую следующий код, чтобы вернуть покупку details.That отображает результат, как этотPHP Mysql сводной таблица

Name Qty Value 
Product1 30 1000 
Product1 45 2000 
Product2 20 1500 
Product2 25 3000 

Как суммировать количество и стоимость ФДТ и дисплей, как это

Name Qty Value 
Product1 75 3000 
Product2 45 4500 
Total 120 7500 

С предложением Select Where.

$result = mysql_query("SELECT pdtname,pack,qty,value FROM ist WHERE chemistcode='3121' AND chemistcode='3020' AND companycode = $companycode"); 

echo "<table id=customers> 
<tr> 
<th>Product</th> 
<th>Pack</th> 
<th>Qunatity</th> 
<th>Value</th> 
</tr>"; 


     while($row = mysqli_fetch_array($result)) 
    { 
echo "<tr>"; 
echo"<td>" . $row['pdtname'] . "</td>"; 
echo"<td>" . $row['pack'] . "</td>"; 
echo"<td>" . $row['qty'] . "</td>"; 
echo"<td>" . $row['value'] . "</td>"; 
echo "</tr>"; 
    } 
echo "</table>"; 
+0

Измените запрос в базе данных, чтобы использовать агрегированные функции, такие как SUM() и предложение GROUP BY; затем вычислить итоговые значения, когда вы обрабатываете лог, чтобы отображать строки –

ответ

1

Вы можете легко получить результат с помощью агрегатной функции sum() и с помощью group by with rollup:

select 
    coalesce(name, 'Total') Name, 
    sum(qty) qty, 
    sum(value) value 
from ist 
group by name with rollup; 

См SQL Fiddle with Demo. Это дает результат:

|  NAME | QTY | VALUE | 
| Product1 | 75 | 3000 | 
| Product2 | 45 | 4500 | 
| Total | 120 | 7500 | 
0
select name,sum(Qty),sum(value) from table2 
group by name 
union 
select 'total',sum(Qty),sum(value) from table2 
Смежные вопросы