gpt4 book ai didi

来自两个连接表和多行的MySQL总和

转载 作者:行者123 更新时间:2023-11-29 05:31:55 28 4
gpt4 key购买 nike

我遇到了以下查询的问题:

SELECT sum(((ordered_items.price + ordered_items.vat) * ordered_items.qty) + orders.postage_price + orders.postage_vat) as total_price
FROM orders
JOIN ordered_items
ON orders.id_orders = ordered_items.order_id
GROUP BY orders.id_orders

我们的想法是返回包括邮费在内的订单总价。

  • ordered_items - 包括所有订购的商品(因此可以有多行)
  • 订单 - 包括订单的邮费(此处每个订单只有一行)

我遇到的问题是,如果一个订单在“ordered_items”中包含多个项目,则上述总和会多次计算“订单”中的邮资。

我如何重写这个查询,使邮资只计算一次?

非常感谢您的帮助。

最佳答案

您不需要子查询,您只需要将 postage_price 和 vat 从聚合中移出并按它们分组:

SELECT sum((ordered_items.price + ordered_items.vat) * ordered_items.qty) + orders.postage_price + orders.postage_vat as total_price
FROM orders
JOIN ordered_items
ON orders.id_orders = ordered_items.order_id
GROUP BY orders.postage_price, orders.postage_vat

关于来自两个连接表和多行的MySQL总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13991965/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com