MySql滚动和问题

时间:2015-07-28 06:28:06

标签: mysql

我想做列的滚动总和。我创建了以下查询

SET @FinancialIncremental:=0;
SELECT  j.ErrorCategory, 
        COUNT(IF(j.ErrorType = 'P',j.ErrorType,NULL)) AS Financial,
        COUNT(IF(j.ErrorType = 'NP',j.ErrorType,NULL)) AS Procedural,
        SUM(j.OverPaymentAmount) AS 'Financial Over Paid Amount ($)',       
        (
            SELECT
                @FinancialIncremental := @FinancialIncremental + q1.c
            FROM
            (   
                (SELECT
                COUNT(IF(ErrorType = 'P',ErrorType,NULL)) AS c
                FROM DemoScheme.TestTable WHERE IsDeleted = 0 AND ErrorType IN ('P','NP')
                GROUP BY ErrorCategory) AS q1
            )
         ) AS 'Financial Incremental'
FROM DemoScheme.TestTable j WHERE IsDeleted = 0 AND ErrorType IN ('P','NP')
GROUP BY ErrorCategory;

但它给了我一个错误。它给我一个关于'Financial Incremental'子查询的错误

  

错误代码:1242。子查询返回的行数超过1行

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

你有一些重复,不必要地使事情复杂化,尝试这个查询。当你添加它时,你可能还需要用0替换NULL。

<tab action="showSquads()" heading="{{'Team Squads'| translation}}">