[英]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.