gpt4 book ai didi

php - 将单个表中的两个不同值相加并减去其值并按邮政编码对它们进行分组

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

我有 1 个名为 rsales 的表。举例来说,我的表“rsales”中有以下值

id | total | discount |  profit | remarks | p_code |
1 | 20 | 2 | 5 | sales | 1234 |
2 | 20 | 4 | 10 | sales | 1234 |
3 | 20 | 6 | 15 | sales | 1234 |
5 | 20 | 2 | 5 | return | 1234 |
6 | 20 | 4 | 10 | return | 1234 |
7 | 10 | 5 | 5 | sales | 3333 |
8 | 10 | 5 | 5 | sales | 3333 |
9 | 10 | 5 | 5 | sales | 3333 |
10 | 10 | 5 | 5 | return | 3333 |
11 | 10 | 5 | 5 | return | 3333 |

我的问题是,我想对备注=“销售额”的所有值求和,并对备注=“返回”的所有值求和,然后在得到其总和后,我想将备注=“销售额”的总和减去总和其中备注 = 'return' 并按 pcode 对它们进行分组。所以下面的输出一定是这样的。

 | total | discount |  profit |  p_code |
| 20 | 6 | 15 | 1234 |
| 10 | 5 | 5 | 3333 |

我有这个 ff 代码,但它只能对备注 = 'return' 的值求和

$result1 = mysql_query ("SELECT sum(total)  as tot,sum(discount) as dis, sum(profit) as prof   FROM rsales WHERE remarks ='return' GROUP by p_code ");

最佳答案

您需要条件求和。假设 remarks 仅采用“sales”和“returns”的值,那么以下是执行此操作的相对简单的方法:

SELECT sum(case when remarks = 'sales' then total else - total end) as tot,
sum(case when remarks = 'sales' then discount else - discount end) as discount,
sum(case when remarks = 'sales' then profit else - profit end) as profit,
p_code
FROM rsales
GROUP by p_code;

关于php - 将单个表中的两个不同值相加并减去其值并按邮政编码对它们进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18754139/

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