[英]how to sum all values in mysql using php
我的表值是:
id stock
1 7|8
2 80|50|30
我的查詢是
我用過PHP函數
function numofQuantity() {
$sql = "SELECT sum(stock) as quantity FROM products";
$result = dbQuery($sql);
$data=mysql_fetch_assoc($result);
return $data['quantity'];
}
在這里它顯示結果為87。
如何對所有值求和? 謝謝
如您現在所見,這只會導致問題。 您應該更改數據庫設計。 使用另一張表存儲庫存:
stock table
-----------
id
product_id
stock
你可以像這樣把股票加起來
SELECT p.id, sum(s.stock) as quantity
FROM products p
inner join stock s on s.product_id = p.id
group by p.id
現在在Mysql中很難做到。 您可以像下面這樣使用php:
function numofQuantity() {
$sql = "SELECT stock FROM products";
$result = dbQuery($sql);
$data=mysql_fetch_assoc($result);
$arrayVal = explode("|", $data['stock']);
return array_sum($arrayVal)
}
有關更多信息: http : //us3.php.net/array_sum
首先,如果您希望對列中的各個值執行任何操作,則應標准化數據庫。
沒有規范化,您將需要PHP的支持( PDO示例):
$sum = 0;
$res = $db->query('SELECT stock FROM products');
foreach ($res->fetchAll(PDO::FETCH_COLUMN) as $stocks) {
$sum += array_sum(explode('|', $stocks));
}
echo $sum;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.