mysql查询每行具有唯一id的行的总和

mysql查询每行具有唯一id的行的总和,mysql,join,subquery,Mysql,Join,Subquery,我是mysql的新手。我得到了candy_id和order作为输入(显示为*)。我想要一个输出,将添加巧克力和摩卡数量。我尝试了许多使用聚合、分组的查询,但无法得到结果。我还没有试着加入。请帮忙 过程:整个过程是…我将查询另一个表以获得一堆糖果id。订单是一个固定的数字(6)。然后我在这个表中使用这两种方法来得到糖果类型和它们各自的累积数量。很抱歉给你带来了困惑。我很难提出这个问题 So the output will be candy_type Total qty Chocola

我是mysql的新手。我得到了candy_id和order作为输入(显示为*)。我想要一个输出,将添加巧克力和摩卡数量。我尝试了许多使用聚合、分组的查询,但无法得到结果。我还没有试着加入。请帮忙


过程:整个过程是…我将查询另一个表以获得一堆糖果id。订单是一个固定的数字(6)。然后我在这个表中使用这两种方法来得到糖果类型和它们各自的累积数量。很抱歉给你带来了困惑。我很难提出这个问题

So the output will be

 candy_type    Total qty
  Chocolate     14
  Mocha         25



The database table is
    candy_id    candy_type    order#      qty
        1*        Chocolate     6*         12
        2         Vanilla       1          10
        3*        Mocha         6*         20
        4*        Chocolate     6*        2
        5         Orange        1          10
        6*        Mocha         6*         5
        7         Chocolate     6         13
        8         Chocolate     6          7
如何使用查询将abpve表缩减到下面,并执行聚合查询?有没有办法进行这种背靠背查询

   candy_id    candy_type    order#      qty
        1*        Chocolate     6*         12
        3*        Mocha         6*         20
        4*        Chocolate     6*         2
        6*        Mocha         6*         5

我想应该很简单

SELECT candy_type, SUM(qty) AS total_qty
FROM table
GROUP BY candy_type
WHERE order_id IN (6, 12)
AND candy_id IN (
  SELECT id
  FROM candy
  WHERE vendor = "foo"
  AND location = "bar"
)
ORDER BY candy_name ASC;

您也可以使用
JOIN

SELECT
  table.candy_type,
  SUM(table.qty) AS total_qty

FROM table

JOIN candy
  ON candy.id       = table.candy_id
 AND candy.vendor   = "foo"
 AND candy.location = "bar"


GROUP BY table.candy_type
WHERE table.order_id IN (6, 12)
ORDER BY table.candy_name ASC;

谢谢你的快速回复。我的表格并不能代表真正的问题。我现在已经更新了表(修改了行和8),以显示真正的问题。您现在可以发表意见吗?我想您可以使用(1,3,4,6)中的
将其缩小到特定的行。整个过程是…我将查询另一个表以获得一堆糖果id。订单是一个固定的数字(6)。然后我在这个表中使用这两种方法来得到糖果类型和它们各自的数量。很抱歉给你带来了困惑。我很难提出这个问题有人吗?真的需要帮助吗one@vikas,聚合数据的输入是什么?我们是根据订单id进行求和吗?这一项不计算数量。显示4排,2排有巧克力12和2,2排有摩卡咖啡20和5
select candy_type, sum(qty) from
your table
where order# = order_number in your parameter
and candy_id in (your candy_id parameter)
group by candy_type