我在下面的查询中尝试做的事情:发布的问题属于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');
答案 0 :(得分:0)
你有
COUNT('answers.text')
什么时候应该
COUNT(`answers.text`)