在单个查询中,在Mysql的2个字段中计算出正确/错误百分比

时间:2016-05-17 13:29:40

标签: mysql

在单个MySQL查询中,如何根据以下输出测试在测试中获得的百分比/分数。给出的答案是test_answer_id,正确的答案是correct_answer_id。 在下面的例子中,3个得分错误,所以应该返回70%

id      doctor_id   test_id test_question_id    test_answer_id  correct_test_answer_id
168836  862         123     2706                3353            3353
168837  862         123     2707                3354            3354
168838  862         123     2708                3357            3357
168839  862         123     2709                3358            3359
168840  862         123     2710                3360            3360
168841  862         123     2711                3363            3363
168842  862         123     2712                3365            3365
168843  862         123     2713                3367            3366
168844  862         123     2714                3369            3369
168845  862         123     2715                3370            3371

1 个答案:

答案 0 :(得分:1)

这是查询。您只需在问题总数上划分正确答案的数量:

select doctor_id,
       test_id,
       sum(case when test_answer_id = correct_test_answer_id 
           then 1 else 0 end) * 100.0 / count(*) 
from table
group by doctor_id, test_id