php - 左连接,分组依据并计算所需的数组

标签 php mysql sql

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

我通常会创建一个返回可能答案的 sql 来解决这个问题,然后在 for 中我再次查看每个 for 和更多的 sql 语句……这会花费很多时间。 我的想法是在单个 sql 中创建一个数组,其中包含一个问题的答案计数,将没有答案的 possible_answers 设为零:

answer | count

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

这可能吗?非常感谢!

最佳答案

我假设答案表包含一个外键 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;

关于php - 左连接,分组依据并计算所需的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37678679/

相关文章:

php - 如何通过PHP读取RS232端口

php - 将包含普通文本的字符串转换为 URL 字符串的函数

php - 使用 symfony2 过滤

php - MySql + InnoDB + PHP 单引号判别?

mysql - 无法连接到 Amazon Web 服务 mysql 实例

sql - EF 迁移正在删除列并尝试将不存在的列重命名回 Id

mysql - Rails - 按条件和限制排序?

php - 共享主机中的Codeigniter应用程序无法连接到vps中的远程mysql

python - SQLAlchemy 错误 : "argument formats can' t be mixed"when inputting variables

MySQL——if条件优化