Mysql GROUP BY问题(activerecord)

时间:2009-10-31 20:30:50

标签: mysql

我在下面的查询中尝试做的事情:发布的问题属于1个大洲和1个国家/地区。用户将答案发布到这些问题。在下面的查询中,我获得了所有数据和答案数量

问题是COUNT(answers.text)在实际应为零时返回数字1。这是在没有问题答案的情况下。

总而言之,我不确定GROUP_BY应该如何使用并且感觉这是问题所在。谁能解释一下?


$ this-&gt; db-&gt; select('questions.id,users.username,url_title,title,questions.text,questions.date_posted,continents.full_name as continent,countries.full_name as country'); < / p>

$ this-&gt; db-&gt; select(“COUNT('answers.text')as nbr_answers”);

$ this-&gt; db-&gt; join('continents','questions.loc_continent = continents.id');

$ this-&gt; db-&gt; join('countries','questions.loc_country = countries.id');

$ this-&gt; db-&gt; join('answers','answers.q_fid = questions.id','left');

$ this-&gt; db-&gt; join('users','users.id = answers.user_id_fk','left');

$这 - &GT; DB-&GT; ORDER_BY( 'questions.id', '递减');

$这 - &GT; DB-&GT; GROUP_BY( 'url_title');

1 个答案:

答案 0 :(得分:0)

你有

COUNT('answers.text') 

什么时候应该

COUNT(`answers.text`)