我正在制作一个测试系统,我正在为用户显示平均成绩。
例如,如果我有这样的桌子:
+-----------+-------------+-------------------+
|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/