Php case语句查询中的增量临时变量值

Php case语句查询中的增量临时变量值,php,mysql,yii,Php,Mysql,Yii,使用case语句根据column值计算count,我使用了以下代码: SET @tempVariable1 := 0; SET @tempVariable2 := 0; SELECT EMPLOYEEID,count(ADNUMBER), CASE WHEN AEERROR <> '--' then @tempVariable1:=@tempVariable1+1

使用case语句根据column值计算count,我使用了以下代码:

SET @tempVariable1 := 0;
SET @tempVariable2 := 0;
SELECT EMPLOYEEID,count(ADNUMBER),
                        CASE
                            WHEN AEERROR <> '--' then @tempVariable1:=@tempVariable1+1
                        ELSE 0
                        END AS Ext_err,
                        CASE
                            WHEN INTERNALERRORS <> '--' then @tempVariable2:=@tempVariable2+1
                        ELSE 0
                        END AS Int_err
FROM employee_productivity_details group by(EMPLOYEEID) LIMIT 2,20;
SET@tempVariable1:=0;
设置@tempVariable2:=0;
选择EMPLOYEEID、计数(ADNUMBER),
案例
当AEERROR'--'时,则@tempVariable1:=@tempVariable1+1
其他0
以Ext_err结束,
案例
当INTERNALERRORS'--'时,则@tempVariable2:=@tempVariable2+1
其他0
以内部错误结束
根据(EMPLOYEEID)限制2,20从员工生产力详细信息组中删除;

当我在workbench上运行时,它工作正常,但当我在PHP变量中设置这个查询时,比如
$sql
,它就会显示错误。那么如何在查询中设置临时变量?还有其他方法吗?

这是你想要的吗

SELECT EMPLOYEEID, count(ADNUMBER),
       SUM(AEERROR <> '--') AS Ext_err,
       SUM(INTERNALERRORS <> '--' ) AS Int_err
FROM employee_productivity_details
group by(EMPLOYEEID)
LIMIT 2, 20;
选择员工ID、计数(ADNUMBER),
求和(AEERROR'-')为Ext_err,
求和(内部错误“---”)为整数错误
来自员工(生产力)(详情)
组员(员工ID)
限制2,20;

根据需要,这对我来说很好

 SELECT EMPLOYEEID,
     count(ADNUMBER),
     COALESCE(SUM(CASE INTERNALERRORS WHEN INTERNALERRORS <> '--' 
     THEN 0 ELSE 1 END), 0) as IntErr,
     COALESCE(SUM(CASE AEERROR WHEN AEERROR <> '--' 
     THEN 0 ELSE 1 END), 0) AS ExtErr 
   FROM employee_productivity_details 
   group by(EMPLOYEEID) order by EMPLOYEEID LIMIT 2,20;
选择EMPLOYEEID,
计数(ADNUMBER),
合并(当INTERNALERRORS'--'时,以INTERNALERRORS为例求和)
然后0否则1结束),0)作为中断,
合并(总和)(AEERROR'--'时的AEERROR情况)
然后0(否则1结束),0)作为外部程序
来自员工(生产力)(详情)
分组依据(员工ID)顺序依据员工ID限制2,20;

出现什么错误?CDbCommand无法执行SQL语句:SQLSTATE[HY000]:常规错误。-它在yii框架中没有。我想根据写入的条件将值增加1case@anaghaaffinity . . . 如果这是你想要的,那么你应该考虑接受这个答案。