Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询(连接表)_Sql_Mysql - Fatal编程技术网

MySQL查询(连接表)

MySQL查询(连接表),sql,mysql,Sql,Mysql,问题稳定 id*int |问题|文本字符串|问题|类型int 交替稳定 id*int |问题| id int |备选|文本字符串|是否正确 回答稳定 id*int |问题| id int |备选方案| id int |答案|文本字符串 *=主键 每个问题可以是自由文本类型,也可以是多选择器类型。多重选择器问题有一个或多个备选方案,只有一个是正确的 答案由问题id和备选id多重选择器或答案文本自由文本定义。答案是正确的,所以我可以标出哪个答案是正确的 如何进行SQL查询,为每个问题提供列出的所有备

问题稳定

id*int |问题|文本字符串|问题|类型int

交替稳定

id*int |问题| id int |备选|文本字符串|是否正确

回答稳定

id*int |问题| id int |备选方案| id int |答案|文本字符串

*=主键

每个问题可以是自由文本类型,也可以是多选择器类型。多重选择器问题有一个或多个备选方案,只有一个是正确的

答案由问题id和备选id多重选择器或答案文本自由文本定义。答案是正确的,所以我可以标出哪个答案是正确的

如何进行SQL查询,为每个问题提供列出的所有备选方案,并对每个备选方案进行计数,以显示有多少人选择了它?假设我可以将其存储在数组中,并使用foreach循环对其进行迭代,并将其显示为下面的示例

举个例子,每个问题都由它的问题文本表示,每个问题的备选方案都由备选方案1备选方案文本、备选方案2等表示。。。备选方案后的数字是它得到答案的选择数

多问题1 备选案文1 | 3

备选2 | 2

备选方案3 | 0

多问题2 备选方案1 | 2

备选方案2 | 3

免费文本1 答复1

答复2

我可以提出一个查询,给我所有的问题和所有属于它的备选方案,但当我试图计算每个问题备选方案的所有答案时,我失败了

所以现在我需要一个SQL忍者的帮助=


先谢谢丹尼尔,这可能有用:

SELECT alternatives.id, COUNT(DISTINCT(answers.id))
FROM alternatives
LEFT JOIN answers ON alternatives.id = answers.altid
GROUP BY alternatives.id;

这将为您提供答案表中每个备选方案出现的总次数。

当您得到满意的答案时,单击旁边的复选标记提纲被认为是一种良好的形式。如果你不这样做,人们就会停止回答你的问题。事实上,这种区别是不必要的。您只需在选择中使用COUNTanswers.id即可。不知道我在想什么。。。