左连接,分组和计数所需的数组

时间:2016-06-07 11:54:30

标签: php mysql sql

我有问题,答案,question_type和possible_answers表。 一个问题有很多答案,例如,1-5可以存储在possible_answers表中,并通过question_type表和问题表相关。

我通常会解决这个问题,制作一个返回可能答案的sql,然后在for a中再次查看每个更多的sql句子...这需要花费很多时间。 我的想法是在单个sql中创建一个数组,其中包含一个问题答案的计数,该问题在没有答案的possible_answers上置零:

answer | count

1 | 234  
2 | 123    
3 | 0    
4 | 0    
5 | 876    

有可能吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

我假设答案表包含外键questionID。我还假设问题类型不必加入它们,但作为查找表。

如果您想使用包含零的问题答案计数填充possible_answers表,请尝试

INSERT INTO possible_answers
SELECT questions.questionID, COUNT(answers.answerID)
FROM questions
LEFT JOIN answers
ON questions.questionID = answers.questionID
GROUP BY questions.questionID;