gpt4 book ai didi

不同分组依据上的 MySQL sum()

转载 作者:行者123 更新时间:2023-11-29 07:09:51 27 4
gpt4 key购买 nike

好的,我要查询两个表。我需要得到两笔款项。我做了一个 group by,所以 sum() 可以正常工作。

SELECT sum(a.x), sum(b.y) FROM a,b GROUP BY a.n where a.n=b.m

到目前为止效果很好,但问题是我需要对第二个总和 (sum(b.y)) 和第一个总和 (sum(a.x)) 进行不同的分组)。

真正的查询有点复杂,但这是我的主要问题。

这就是我实际尝试选择的 sum(stock.amount) - if( sold.amount IS NULL , 0, sum( sold.amount ) )

如何在一个查询中解决这个问题?

最佳答案

由于您没有写下表格,我将进行大胆猜测并假设表格如下:

库存 : id, item_id, amount已售出 : id, item_id, amount

然后我再次假设您需要 stock_in_total、sold_total、left_total 计数

SELECT 
stock_sums.item_id,
stock_sums.st_sum as stock_in_total,
COALESCE(sold_sums.so_sum,0) as sold_total,
(stock_sums.st_sum - COALESCE(sold_sums.so_sum,0)) as left_total
FROM (
SELECT stock.item_id as item_id, SUM(stock.amount) as st_sum
FROM stock
GROUP BY item_id
) as stock_sums
LEFT JOIN (
SELECT sold.item_id as item_id, SUM(sold.amount) as so_sum
FROM sold
GROUP by item_id
) as sold_sums ON stock_sums.item_id = sold_sums.item_id

希望对您有所帮助。

关于不同分组依据上的 MySQL sum(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248278/

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