2012-02-22 79 views
1

我有一個查詢至極給我一份有總計一欄,查詢看起來是這樣的:琛子查詢與和

SELECT SUM(BoekRegelBedrag) AS total, 
    BoekRegelPeriode, BoekRegelGrootboekNr, 
    BaOmschrijving, BaSoort 
FROM BoekstukRegels 
LEFT JOIN ( 
     SELECT BaOmschrijving, BaSoort, BaGbNumber 
     FROM balansen 
     WHERE BauserId = 45 
     GROUP BY BaGbNumber 
    ) tbl ON BoekRegelGrootboekNr = BaGbNumber 
WHERE BoekregelUserId = 45 
    AND BoekRegelPeriode BETWEEN '201201' AND '201212' 
    AND BaSoort = 2 
GROUP BY BoekRegelGrootboekNr 

我現在想的是要總結指定查詢的那些結果。

有人知道如何做到這一點?

在此先感謝

回答

2

WITH ROLLUP改性劑添加到您的現有查詢。這將返回一個額外的行,在您的常規列中包含NULL值,並在您的total列中顯示所需的總計值。

SELECT SUM(BoekRegelBedrag) AS total, BoekRegelPeriode, BoekRegelGrootboekNr, BaOmschrijving, BaSoort 
    FROM BoekstukRegels 
     LEFT JOIN (SELECT BaOmschrijving, BaSoort, BaGbNumber 
         FROM balansen 
         WHERE BauserId = 45 
         GROUP BY BaGbNumber)tbl 
      ON BoekRegelGrootboekNr = BaGbNumber 
    WHERE BoekregelUserId = 45 
     AND BoekRegelPeriode BETWEEN '201201' AND '201212' 
     AND BaSoort = 2 
    GROUP BY BoekRegelGrootboekNr 
    WITH ROLLUP 
+0

哇,這是訣竅。謝謝! – 2012-02-22 14:26:20

+0

我的表格中有一些負值,是否可以在總和之前使這些值爲正值? – 2012-02-22 14:27:36

+1

@LeonvanderVeen您可以使用[ABS](http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_abs)函數返回絕對值:'SELECT SUM(ABS( BoekRegelBedrag))總共......' – 2012-02-22 14:30:15