Php Mysql查询和组?

Php Mysql查询和组?,php,mysql,sum,Php,Mysql,Sum,我有这个例子 订单 订单号 订单\物品\标识 订单\发票\标识 订单\客户\标识 订单数量 和行示例 668322915 668322930 我确实怀疑这样的事情 SELECT * FROM orders WHERE order_invoice_id = 1 在循环中,我得到了所有简单的结果,订单商品id,订单数量,但我得到了两个结果, 因为order\u inovice\u id是相同的 结果1 订购物品编号8 订单数量15 结果2 订购物品编号8 订单数量30 我只需要得到一个结果

我有这个例子

订单

  • 订单号
  • 订单\物品\标识
  • 订单\发票\标识
  • 订单\客户\标识
  • 订单数量
和行示例

  • 668322915
  • 668322930
我确实怀疑这样的事情

SELECT * FROM orders WHERE order_invoice_id = 1
在循环中,我得到了所有简单的结果,订单商品id,订单数量,但我得到了两个结果, 因为order\u inovice\u id是相同的

结果1

订购物品编号8 订单数量15

结果2

订购物品编号8 订单数量30

我只需要得到一个结果,我可以根据订单\文章\ id对结果进行分组和计数

这就是我需要的结果

结果

订购物品编号8
订单数量45

您必须使用具有总和聚合功能的分组查询:

SELECT
  order_article_id,
  SUM(qty) as sum_qty
FROM
  orders
WHERE
  order_invoice_id=1
GROUP BY
  order_article_id

尝试此操作,更改where条件以适合数据

SELECT order_article_id , SUM(order_qty) as order_qty
FROM orders WHERE order_invoice_id = 32
GROUP BY order_article_id
结果

| ORDER_ARTICLE_ID | ORDER_QTY |
|------------------|-----------|
|                8 |        45 |
样本数据

CREATE TABLE orders
    (`orders_id` int, `order_article_id` int, `order_invoice_id` int, `order_customer_id` int, `order_qty` int)
;

INSERT INTO orders
    (`orders_id`, `order_article_id`, `order_invoice_id`, `order_customer_id`, `order_qty`)
VALUES
    (66, 8, 32, 29, 15),
    (66, 8, 32, 29, 30)
;    

Thsi不工作also@Gorostas你有什么错误?您是否得到错误的结果?请定义“不工作”结果或错误是什么?SQL语法异常复杂simple@Gorostas我的答案已编辑,您需要确保返回数据的位置
SELECT order_id, SUM(order_qty) as 'Total Quantity'
FROM orders
WHERE order_article_id = 8 
// where order_article_id in (1,2,3) if you have more id's and just want those
GROUP by order_article_id