Mysql从多个表中选择并获得零计数

Mysql从多个表中选择并获得零计数,mysql,Mysql,我有一个简单的数据库和两个表-- 问答 两者都有一个questionid字段,我试图得到一个包含所有答案的所有问题的列表-问题是有些问题没有答案 SELECT questions.*,COUNT(answers.questionid) AS num_answers FROM questions LEFT JOIN answers ON questions.questionid = answers.questionid 上面的sql给出了所有有答案的问题的计数,但是如果没有答案,那么它就不

我有一个简单的数据库和两个表--

问答

两者都有一个questionid字段,我试图得到一个包含所有答案的所有问题的列表-问题是有些问题没有答案

SELECT questions.*,COUNT(answers.questionid) AS num_answers 
FROM questions 
LEFT JOIN answers 
ON questions.questionid = answers.questionid
上面的sql给出了所有有答案的问题的计数,但是如果没有答案,那么它就不会出现在列表中


有什么想法吗?

还可以按要选择的列进行分组

SELECT questions.id, questions.title, COUNT(answers.questionid) AS num_answers 
FROM questions 
LEFT JOIN answers ON questions.questionid = answers.questionid
GROUP BY questions.id, questions.title
只需使用
count(*)

使用
count()
name时,计算列中非空值的数量。通过使用第二个表中的列,您只计算匹配项

此外,您不需要回答
问题。*
。大多数SQL引擎都会为此返回一个错误。该查询无论如何只返回一行,因为它是一个聚合查询,没有
分组依据

编辑:

如果每个问题都需要此选项,请使用
分组依据
,并使用
答案
中的列计算匹配项:

SELECT questions.*, 
       COUNT(answers.questionid) as num_answers
FROM questions LEFT JOIN
     answers
     ON questions.questionid = answers.questionid
GROUP BY questions.questionid

谢谢你的及时回复。只是检查了一下,它只返回num_results=x。我应该说得更清楚些。我需要问题标题和详细信息,然后是有多少答案的计数(因此我做问题。*)谢谢+1-我的问题不够清楚,但分组依据是缺少的链接-谢谢澄清。如果使用
分组依据
,那么您可能要计算列数。谢谢,这就是诀窍。我的错误是小组仍在学习!
SELECT questions.*, 
       COUNT(answers.questionid) as num_answers
FROM questions LEFT JOIN
     answers
     ON questions.questionid = answers.questionid
GROUP BY questions.questionid