子总和的总和

时间:2012-02-22 14:17:08

标签: mysql subquery sum

我有一个查询,它给了我一个总计的列,查询看起来像这样:

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

我现在想要的是对给定查询的结果求和。

有人知道怎么做吗?

提前致谢

1 个答案:

答案 0 :(得分: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