[英]How to sum rows and then subtract them grouped by?
CREATE TABLE test
(`id` int, `type` int, `summ` int)
;
INSERT INTO test
(`id`, `type`, `summ`)
VALUES
(1, 1, 100),
(2, 1, 200),
(3, 2, 250),
(4, 2, 20),
(5, 3, 10)
;
sql:
SELECT
type, SUM(summ) as total
FROM
test
GROUP BY
type
結果是3行,按type
和總計值的total
分組:1-300、2-270、3-10。
問:如何將類型1
最終total
結果減去所有其他結果( 2
和3
)? 結果將是:300-270-10 =20。因此,我需要得到20
。
您可以使用SUM
和CASE
:
SELECT SUM(CASE WHEN type = 1 THEN summ ELSE -summ END) as total
FROM test
type = 1
記錄將保持不變,其余的將被否定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.