我有一個MySQL表看起來是這樣的:有效京順路和值
+--------------------------------------+
| id | product_id | qty |
+--------------------------------------+
| 1 | 0 | 1 |
| 2 | 1 | 3 |
| 3 | 0 | 2 |
| 4 | 2 | 18 |
+--------------------------------------+
我想在表中每種產品的總數量。因此,對於上面的表格,例如,這裏是結果,我想:
0 - > 3
1 - > 3
2 - > 18
我想這樣做會最簡單的方法循環訪問MySQL結果並將每個產品的數量添加到數組中對應於product_id的位置。即:
$qtyArray = array();
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$qtyArray[$row[product_id]] += $row[qty];
}
我有兩個問題:
- 將在上述工作好不好?
- 有沒有更好的方法來做到這一點?
謝謝!
更好的方法是使用MySQL的SUM函數在返回到PHP之前執行所有算術運算 - SELECT product_id,SUM(qty)AS sum FROM myTable –
'SELECT product_id,sum(qty)FROM yourTable GROUP BY product_id' –