我有这段代码
$stmt = $this->conn->prepare("SELECT item_id, SUM(item_quantity) FROM delivery_pending_items WHERE dp_id=:dp_id GROUP BY item_id ");
$stmt->execute(array(':dp_id'=>$dp_id));
$stmt->setFetchMode(PDO::FETCH_ASSOC);
return $stmt;
这是表格样本
Item_Id Item_quantity
1 10
1 20
我需要做的是对item_id进行分组并添加数量并获得如下结果
item_id=1 item_quantity=30
答案 0 :(得分:1)
嗨,为什么它返回undefined,因为你还没有为它指定别名
你试试的地方
$result['Item_quantity']
但它在结果中不存在
结果的输出是
item_id SUM(item_quantity)
1 30
解决为其添加别名
SELECT
item_id,
SUM(item_quantity) AS Item_quantity
FROM
delivery_pending_items
WHERE
dp_id =: dp_id
GROUP BY
item_id
编辑:我最近将别名总和更改为Item_quantity
答案 1 :(得分:0)
SELECT DISTINCT(f.Item_id),s.TotalQuantity FROM Items AS f JOIN(SELECT Item_Id,SUM(Item_Name)AS TotalQuantity FROM Items GROUP BY Item_Id)AS s ON f.Item_id = s.Item_id