MySQL如何统计两表关联下匹配正确答案的总数量
MySQL统计正确答案总数实现方案
涉及表结构
现有两张业务表结构如下:
QUESTIONS(题目表)ID:题目主键IDQUESTION:题目具体内容CORRECT_ANSWER_ID:当前题目对应的正确答案ID
ANSWERS(答题记录表)ID:答题记录主键IDQUESTION_ID:关联的题目ID,和QUESTIONS表的ID字段对应ANSWER_ID:答题者提交的答案ID
统计要求:计算所有有效答题记录中,提交的答案和对应题目正确答案完全匹配的总条数。
可直接使用的SELECT语句
推荐使用内连接关联两张表做匹配统计,执行效率更高,逻辑清晰:
SELECT COUNT(*) AS correct_total_count FROM ANSWERS ans INNER JOIN QUESTIONS que ON ans.QUESTION_ID = que.ID WHERE ans.ANSWER_ID = que.CORRECT_ANSWER_ID;
逻辑说明
- 内连接会自动过滤
ANSWERS表中关联不到有效题目的脏数据,这部分无效记录不会被计入正确数 - WHERE条件直接筛选出作答答案与题目设定正确答案一致的记录
COUNT(*)会返回符合条件的记录总数,别名correct_total_count可以根据业务需要自行修改
内容的提问来源于stack exchange,提问作者Juan Angela Alma
相关产品推荐
相关产品推荐

