我正在制作一个测试系统,我正在为用户显示平均成绩。
例如,如果我有这样的桌子:

    +-----------+-------------+-------------------+
    |userid     | user_score  |number_of_questions|
    +-----------+-------------+-------------------+
    |  1        |      10     |        10         |
    |  1        |      10     |        10         |
    |  1        |      10     |        10         |
    |  1        |      10     |        10         |
    |  1        |      9      |        10         |
    |  1        |      4      |        5          |
    |  1        |      4      |        5          |
    |  1        |      5      |        5          |
    |  1        |      5      |        5          |
    +-----------+-------------+-------------------+

有没有得到平均分?
编辑:我已经把分数从字母改成了分数,因为我知道你不能得到非数值的平均值。
我该如何进行查询以获得两个问题的用户平均得分?

最佳答案

你在问这个问题,所以简单的答案是

Select avg(user_score)
From {table_name}
Where {your criteria}
Group by user_id

然而,你的客户会对你的计算结果很失望,5分得到5分,100分得到100分与平均5分和100分完全不同!
所以我建议用百分比代替原始分数:
Select avg(user_score/number_of_questions)

关于mysql - 从数据库获取平均成绩,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49213945/

10-14 13:59
查看更多