我正在 MySQL 数据库中保存一些 MCQ 类型的问题和用户的答案。 这是根据给定问题保存所有用户答案的表。
我想根据question_id
和session_code
获取数据。
这些 MCQ 问题只有 4 个答案。
因此,如果我采用 question_id = 8
,我想获得答案 1 到 4 的所有计数。
像这样:
我尝试使用这样的代码来执行此操作,但它不起作用......
SELECT DISTINCT question_id , (select COUNT(user_selected_answer)
from user_answers
where
session_code = 8888 and user_selected_answer = 1 ) as Ans1 ,
(select COUNT(user_selected_answer) from user_answers where session_code = 8888 and user_selected_answer = 2 ) as Ans2 ,
(select COUNT(user_selected_answer) from user_answers where session_code = 8888 and user_selected_answer = 3 ) as Ans3 ,
(select COUNT(user_selected_answer) from user_answers where session_code = 8888 and user_selected_answer = 4 ) as Ans4
FROM `user_answers`
WHERE session_code = 8888
请帮我解决这个问题... 谢谢。
最佳答案
尝试使用group by
SELECT COUNT(user_selected_answer) FROM user_answers WHERE session_code = 888 GROUP BY question_id
关于mysql - 如何使用子查询计算同一个表中的特定字段的数量并为这些子查询分配特定名称以获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52250579/