gpt4 book ai didi

mysql - 取消分组时 SUM 出错

转载 作者:行者123 更新时间:2023-11-29 06:53:44 25 4
gpt4 key购买 nike

我有一个查询返回客户发货的 SUM 值及其按 shipment_id 分组。值是正确的。

SELECT SUM(DISTINCT((article.unit_price * article.tax)*shipment.amount)) as subtotal 
FROM shipment
INNER JOIN customer ON customer.customer_id = shipment.customer_id
INNER JOIN article ON shipment.article_id = article.article_id
WHERE shipment.type_id = 2
AND shipment.customer_id = 947
GROUP BY shipment.shipment_id

当我删除 GROUP BY 以从客户那里获取总值时,返回的值不正确。

有人可以帮我解决这个问题吗?

最佳答案

您的连接有问题。我想不出 sum(distinct ) 在查询中有意义的情况。您使用不当。发生的情况是您在多个货件中有重复的元素,并且货件中的值是正确的(可能只有一个货件中的一件元素)。但是,不同的货件具有完全相同的元素和相同的数量。 distinct 会删除此类重复项。

解决方法很简单,去掉distinct即可:

SELECT SUM((article.unit_price * article.tax)*shipment.amount) as subtotal 
FROM shipment INNER JOIN
customer
ON customer.customer_id = shipment.customer_id INNER JOIN
article
ON shipment.article_id = article.article_id
WHERE shipment.type_id = 2 AND shipment.customer_id = 947

关于mysql - 取消分组时 SUM 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13990959/

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