- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想计算 MySQL 表中一堆行的平均等级。问题是,根据您登录的用户身份,可能会使用不同的比例。
比例尺示例可以是:
在数字范围内,数字越大越好,但在字母范围内,数字越低越好。
如何进行 SQL 查询才能给出正确的平均值?
平均值示例:
我使用的查询是:
SELECT CHAR(ROUND(AVG(ORD(UPPER(grade))))) AS average
这里的问题是最后一个例子。使用该查询得出的结果是 E
,但这不是有效的成绩,它应该是 D
。
我不知道如何处理这个问题。如果等级已排除值(例如 A-F 等级不包括 E),在 MySQL 中获得平均成绩的最佳方法是什么?如果需要的话,我可以用PHP计算它。
最佳答案
在不进行看起来像意大利面条的 SQL 查询的情况下,最好的方法是创建一个包含年级->成绩点值的映射表。
比如
Table Values
grade value
A | 4
B | 3
C | 2
etc.
然后,你会做平均
SELECT ROUND(AVG(v.value)) FROM Grades g
INNER JOIN Values v on g.grade = v.grade
然后,您可以返回表以获取结果
SELECT * FROM (
SELECT ROUND(AVG(grade)) avg FROM Grades g
INNER JOIN Values v on g.value = v.value
) avgs
INNER JOIN Values v2 on avgs.avg = v2.values
关于php - 在 MySQL 中使用不同比例计算平均成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981068/
我正在尝试在 JavaScript 中创建一个正则表达式搜索,它会接受以下等级中的一个:A、B+、B、C+、C、D、F、AF 或 WF。 我有以下正则表达式:^A-?|[BCD][+-]?|[AW]?
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。它不符合 Stack Overflow guidelines 。它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题
我正在制作一个学生数据库,其中包含类(class) ID、类(class)名称、每门类(class)的学分、通过/失败声明和成绩。我的目标是让按钮显示总和(成绩)/总和(学分) 这是我编写的代码,它给
我正在努力弄清楚如何实现这个计数。模型是用户、测试、等级 用户 has_many 测试,测试 has_many 成绩。 每个等级都有一个计算分数(strong_pass、pass、fail、stron
我是一名优秀的程序员,十分优秀!