繁体   English   中英

WHERE语句中的MySQL COUNT

[英]MySQL COUNT on WHERE Statement

请求帮助我为什么WHERE语句上的COUNT条件提交错误,我怎么能解决它?

         SELECT jq.taskqueueid,jq.jobid
           FROM (SELECT p.taskID `curentTaskID`,
                    p.taskName `currentTaskName`,
                    p.processingType `currentProcessingType`,
                    p1.taskID `prevTaskID`,
                    p1.taskName `prevTaskName`,
                    p1.processingType `prevProcessingType`
                  FROM projecttask p
                  LEFT JOIN projecttask p1
                    ON p.sequenceNo=p1.nextTaskSequence
                   AND p.projectID=p1.projectID
                 WHERE p.taskID=18) task
           INNER JOIN taskslogs tl
              ON tl.taskID=task.`prevTaskID`
             AND tl.statusDefinitionID=1
           INNER JOIN jobqueue jq
              ON tl.taskqueueid=jq.taskqueueid
           WHERE COUNT(jq.taskqueueid)=COUNT(tl.taskqueueid)

要使用像COUNT()这样的聚合函数 ,需要对数据进行分组,如果要将其用作条件,则不能使用WHERE,因为在聚合之前会考虑WHERE条件。 改为使用GROUP BY和HAVING。 (另见http://dev.mysql.com/doc/refman/5.0/en/select.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM