Mysql的DISTINCT和COUNT查询

Mysql的DISTINCT和COUNT查询,mysql,count,distinct,Mysql,Count,Distinct,我在获取查询以输出我想要的方式时遇到问题 SELECT `orders`.`item_id`, `products`.`item_code`, `products`.`item_name`, `orders`.`quantity` FROM `orders` JOIN `products` ON `orders`.`item_id` = `products`.`id` JOIN `suppliers` ON `product

我在获取查询以输出我想要的方式时遇到问题

SELECT 
    `orders`.`item_id`, 
    `products`.`item_code`, 
    `products`.`item_name`, 
    `orders`.`quantity` 
FROM 
    `orders` 
    JOIN `products` ON `orders`.`item_id` = `products`.`id` 
    JOIN `suppliers` ON `products`.`supplier_ref` = `suppliers`.`supplier_ref` 
WHERE 
    `suppliers`.`id` = 159 
    AND `orders`.`order_status` = 'NOTED'
这将返回结果:

item_id item_code item_name            quantity
1271    RA001G    Green Mop Bucket 12L 2
1270    RA001     Blue Mop Bucket 12L  1
1270    RA001     Blue Mop Bucket 12L  1

但是,我希望它将不同的项目id与数量相加带回,但当我尝试添加不同的项目id和计数时,结果只返回了一行。

如果要汇总相同项目的数量,请尝试对项目id进行分组。如下所示:

SELECT 
    `orders`.`item_id`, 
    `products`.`item_code`, 
    `products`.`item_name`, 
    sum(`orders`.`quantity`) as quantity, 
FROM 
    `orders` 
    JOIN `products` ON `orders`.`item_id` = `products`.`id` 
    JOIN `suppliers` ON `products`.`supplier_ref` = `suppliers`.`supplier_ref` 
WHERE 
    `suppliers`.`id` = 159 
     AND `orders`.`order_status` = 'NOTED'
  GROUP BY `orders`.`item_id`, 
      `products`.`item_code`, 
      `products`.`item_name`

请使用GROUPBY子句

 SELECT 
`orders`.`item_id`, 
`products`.`item_code`, 
`products`.`item_name`, 
 sum(`orders`.`quantity`) as quantity
 FROM 
  `orders` 
   JOIN `products` ON `orders`.`item_id` = `products`.`id` 
   JOIN `suppliers` ON `products`.`supplier_ref` =   `suppliers`.`supplier_ref` 
WHERE 
 `suppliers`.`id` = 159 AND `orders`.`order_status` = 'NOTED'
group by 
 `orders`.`item_id`;

然后你应该添加一个
group by
子句。你想看到“1270 RA001 Blue Mop Bucket 12L 2”作为输出吗?非常感谢你,我是按项目id分组的,但当时是在做COUNT()而不是SUM(),这一定是因为我放弃了它