簡體   English   中英

獲取同一列的總值多行和總共兩個不同的行(mysql查詢)

[英]Get total value of the same column multiple rows and total of two different rows (mysql query)

我有一張表“記錄”[記錄] [1]

select typeofservice, 
       Coalesce(sum(incomecost,expensecost),0) 'incomecost,expensecost' 
from   records 
where  dateoftrans = '2016-11-22' 
group by typeofservice with rollup;

我希望能夠在第二張圖像上得到結果,這是我的查詢......所有這些交易都發生在一天。 請幫忙

https://i.stack.imgur.com/fLYav.png

以下查詢假定,對於給定類型的服務,您希望在收入成本總和超過費用成本之和時報告收入,反之亦然。 在每種情況下,收入和費用之間的差異在適當的列中報告,在備用列中報告NULL

SELECT typeofservice,
       CASE WHEN SUM(incomecost) - SUM(expensecost) > 0
            THEN SUM(incomecost) - SUM(expensecost)
            ELSE NULL END AS incomecost,
       CASE WHEN SUM(expensecost) - SUM(incomecost) > 0
            THEN SUM(expensecost) - SUM(incomecost)
            ELSE NULL END AS expensecost
FROM records
WHERE dateoftrans = '2016-11-22'
GROUP BY typeofservice
WITH ROLLUP

如果僅針對第二張圖像的結果,您可以嘗試sum(incomecost)sum(expensecost)如下所示:

SELECT
    typeofservice,
    Coalesce(SUM(incomecost), 0) AS incomecost,
    Coalesce(SUM(expensecost), 0) AS expensecost
FROM records
GROUP BY typeofservice
WITH ROLLUP

暫無
暫無

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

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