簡體   English   中英

MySQL查詢減去兩組值

[英]MySQL query to subtract two groups of values

我有一張用於“發票明細”的表格,我想獲得商品編號的net_sales ,可以通過從退貨中減去銷售額來實現。

現在的問題是:我可以做一個查詢這樣的計算,通過獲取SUM( qty )的type =“S”和SUM( qty )的type =“R”然后減去他們獲得該項目的#net_sales? 還可以有一個以上的項目來獲取net_sales嗎?

+------+------+------+
| Item |  Qty | Type |
+------+------+------+
| 1132 |  1   |  S   |
| 1132 |  2   |  S   |
| 1132 |  3   |  R   |
+------+------+------+

我要做的是在查詢中選擇第一組“ S”,然后在另一個查詢中選擇第二組“ R”,然后將它們相減,如果要處理的項目很多,這將導致性能下降!

如果您用不同的方式SUM()問題,這變得容易:代替SUM()處理所有S ,然后減去所有R的總和,您同樣可以計算所有項的總和,其中R是負數的標記:

SELECT
  `Item`,
  SUM(IF(`Type`='S', `Qty`, -1*`Qty`)) AS total
FROM
  `invoice_details`
WHERE
  -- your criteria here, e.g.
  `Item`=1132
GROUP BY `Item`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM