我有一個如下所示的表格。我想做一個磁區,然后減去同一列和不同行中的值,以使用 group by 獲得差異。
| ID | 型別 | 姓名 | 數量 |
|---|---|---|---|
| 1 | 銷售 | 山姆 | 2 |
| 2 | 銷售 | 山姆 | 15 |
| 3 | 回傳 | 禮來 | 20 |
| 4 | 銷售 | 禮來 | 25 |
| 5 | 回傳 | 山姆 | 3 |
| 6 | 銷售 | 安居 | 20 |
并且需要回傳:
| 姓名 | 數量 |
|---|---|
| 山姆 | 14 |
| 禮來 | 5 |
| 安居 | 20 |
uj5u.com熱心網友回復:
您的示例資料有點可疑,但我認為您基本上需要將案例運算式應用于您的銷售型別:
select name,
Sum(amount * case when type='return' then -1 else 1 end) Amount
from t
group by name;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/428856.html
標籤:mysql
