PDO MYSQL SUM和GROUP BY

时间:2016-12-12 05:12:27

标签: mysql sql pdo

我有这段代码

    $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

2 个答案:

答案 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