首页 / MySql教程 / MYSQL计算结果

MYSQL计算结果

我正在mysql 5.0中构建一个查询来计算学生的学期成绩.初始表(studentItemGrades)包含将用于计算最终成绩的作业列表等.每项作业都有一个PossibleScore,Grade和Weight.计算应对所有类似加权的项目进行分组,并根据分配到期的日期范围提供SUM(GRADE)/ SUM(POSSIBLESCORE).我遇到的问题是所有个别加权等级的最终总和.例如,结果目前产生以下结果:

CourseScheduleID    sDBID   AssignedDate    DueDate     Weight  WeightedGrade
1           519     2010-08-26  2010-08-30  10  0.0783333333333333
1           519     2010-09-01  2010-09-03  20  0.176
1           519     2010-09-01  2010-09-10  70  0.574

来自查询:

SELECT CourseScheduleID,sDBID,AssignedDate,DueDate,Weight,((SUM(Grade)/SUM(PossibleScore))*(Weight/100)) AS WeightedGrade 
FROM studentItemGrades 
WHERE DueDate>='2010-08-23' 
AND DueDate<='2010-09-10' 
AND CourseScheduleID=1 
AND sDBID=519 
AND Status>0 
GROUP BY Weight

问题:我现在如何将WeighedGrade输出中的三个结果相加?顺便说一下,这是计算特定校园所有课程所有成绩的更大查询的一部分.

在此先感谢您的帮助.

最佳答案
您可以使用子查询,如下所示:

SELECT SUM(WeightedGrade) FROM
(
  SELECT CourseScheduleID,((SUM(Grade)/SUM(PossibleScore))*(Weight/100)) AS WeightedGrade 
  FROM studentItemGrades 
  WHERE DueDate>='2010-08-23' 
  AND DueDate<='2010-09-10' 
  AND CourseScheduleID=1 
  AND sDBID=519 
  AND Status>0 
  GROUP BY Weight
) t1

本文来自网络,不代表糖果站长网立场,转载请注明出处:https://www.1tg.com.cn/html/jc/mysql/2021/0523/3849.html

dawei作者

【声明】:糖果站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
上一篇
下一篇

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息
返回顶部

【免责声明】本站内容转载自互联网,其发布内容言论不代表本站观点,如果其链接、内容的侵犯您的权益,烦请提交相关链接至邮箱xwei067@foxmail.com我们将及时予以处理。

Copygight © 2013-2023 https://www.1tg.com.cn All Rights Reserved.糖果站长网

站长:xwei067#foxmail.com(请把#换成@)