gpt4 book ai didi

mysql - 如何停止为每一行 MySQL 数据透视表调用 SUM 函数

转载 作者:行者123 更新时间:2023-11-29 22:52:08 25 4
gpt4 key购买 nike

我有一个包含 2 个表的数据库:1 个用于客户订单,另一个用于客户返回。两个表都有一个客户 ID 列和一个总计列。

我正在尝试制作一个数据透视表,从总订单中减去总返回。问题是,当返回的行数超过 1 行时,每行都会调用 SUM 函数。

这是我正在使用的查询。

SELECT

( (Sum(CASE WHEN MONTH(order_date) = 3 THEN orders.total END) -

(Sum(CASE WHEN MONTH(return_date) = 3 THEN returns.total END) ) AS May

FROM orders

INNER JOIN returns ON orders.customer = returns.customer

WHERE customer = ?

这和分组有关系吗?

最佳答案

这是我使用的最终查询:

SELECT

( (Sum(CASE WHEN MONTH(order_date) = 1 THEN total END) / 100) -

(SELECT COALESCE( ( SUM(total) / 100), 0) FROM returns
WHERE customer = orders.customer AND MONTH(return_date) = 1) ) , 0) AS May

FROM orders

WHERE customer = ?

它使用COALESCE来解释没有返回的可能性。

关于mysql - 如何停止为每一行 MySQL 数据透视表调用 SUM 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28861572/

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