Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 通过查询将相似的信息组合到一个组中_Mysql_Sql - Fatal编程技术网

Mysql 通过查询将相似的信息组合到一个组中

Mysql 通过查询将相似的信息组合到一个组中,mysql,sql,Mysql,Sql,我想我在计算发票总额的查询中遗漏了一些东西。下面的代码用于显示在特定订单id范围内的所有订单,并正确计算,但我希望所有订单id显示在一行中,而不是按单个项目id拆分,因为我不希望重复订单id select order_details.order_id, order_details.item_id, items.unit_price * order_details.order_qty as itemtotal from order_details join items on order_deta

我想我在计算发票总额的查询中遗漏了一些东西。下面的代码用于显示在特定订单id范围内的所有订单,并正确计算,但我希望所有订单id显示在一行中,而不是按单个项目id拆分,因为我不希望重复订单id

select order_details.order_id, order_details.item_id, items.unit_price * 
order_details.order_qty as itemtotal
from order_details
join items on
order_details.item_id = items.item_id
where order_id >= 400 and order_id <= 700
group by order_details.order_id, order_details.item_id
order by order_id asc;
选择订单详细信息.订单id,订单详细信息.项目id,项目.单价*
订单\详细信息。订单\数量为itemtotal
从订单详情
连接上的项目
订单详细信息.item\u id=items.item\u id

当order\u id>=400且order\u id时,如果需要order\u id的总计,则应使用聚合函数作为sum() 并最终为项目id分组,例如:

  select
       order_details.order_id
     , group_concat(order_details.item_id) ids 
     , sum(items.unit_price * order_details.order_qty) as itemtotal
  from order_details
  join items on
  order_details.item_id = items.item_id
  where order_id >= 400 and order_id <= 700
  group by order_details.order_id
  order by order_id asc;
选择
订单\详细信息。订单\ id
,组目录(订单详细信息。项目id)id
,合计(项目.单价*订单详细信息.订单数量)为项目总计
从订单详情
连接上的项目
订单详细信息.item\u id=items.item\u id

当order\u id>=400和order\u id时,您的查询实际上调用两个表:order\u details和items。您是否不希望结果中包含项目\u id?你能提供一个你希望最终结果是什么样子的快速指示吗?