我想计算同一个select语句中另一个表中有多少条记录,我使用了Left join
在select语句中,我输入count(ag.*)

例子:

$q = Doctrine_Query::create()
            ->select("a.answer_id,a.date_added , count(ag.content_id) AS agree_count")
            ->from('Answer a')
             ->leftJoin("a.Agree ag ON a.answer_id = ag.content_id AND ag.content_type = 'answer' ")
            ->where('a.question_id= ? ', $questionId)

但它只返回第一张唱片,我能修一下吗?或者再做一张桌子,只做计数用?

最佳答案

您的查询中缺少一个GROUP BY
更多信息here.
当没有GROUPBY子句时,只得到一行是正常的。

关于mysql - mysql中的count(*)仅返回一条记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10013593/

10-13 04:18