0

我有一个名为 vw_results 的表,其中包含特定学生的结果配置文件:

idNum |courseUnit | marks | Gpp | grade| id | semseterID | sessionName

06/021|   2       | 47    | 8   |  B+  | 1  |   1        |  2010/11
06/021|   3       | 56    | 7   |  C   | 1  |   1        |  2010/11
.     |   4       | 34    | 5   |  C   | 1  |   1        |  2010/11
.     |   5       | 34    | 0   |  F   | 1  |   1        |  2010/11
.     |   2       | 89    | 10  |  A   | 1  |   2        |  2010/11
.     |   3       | 45    | 4   |  D   | 1  |   2        |  2010/11
.     |   4       | 56    | 10  |  C   | 1  |   2        |  2010/11
.     |   2       | 67    | 12  |  B+  | 2  |   1        |  2011/12
.     |   1       | 70    | 15  |  A   | 2  |   1        |  2011/12
.     |   2       | 80    | 10  |  A   | 2  |   2        |  2011/12
.     |   3       | 90    | 5   |  A   | 2  |   2        |  2011/12

计算 GPA

"SELECT SUM( vwr.courseUnit ) cummUnit, SUM( vwr.GPP ) cummGPP, (
SUM( vwr.GPP ) / SUM( vwr.courseUnit ))cummGPA
FROM vw_result vwr
WHERE vwr.Grade NOT IN ('F') AND vwr.sessionID=".$_GET['sessionID']." AND vwr.semesterID=".$_GET['semesterID'].";" 

如果 $_GET['sessionID']=1 和 $_GET['semesterID']=2 那么

|cummGPA|
|1.913  |

如果 $_GET['sessionID']=2 和 $_GET['semesterID']=1 那么

|cummGPA|
|2.730  |

如果 $_GET['sessionID']=2 和 $_GET['semesterID']=2 那么

|cummGPA|
|2.774  |

关于如何解决这个问题的任何建议?!谢谢!

4

1 回答 1

0

呃,你应该问得更清楚,没有人会花时间理解你的问题。只是我无事可做。。

如果我正确理解你想要什么,那么它将是:

select count(id) from vw_results group by (id, semseterID) having (id=1 and semseterID=1)  or (id=1 and semseterID=2) or (id=2 and semseterID=1) or (id=2 and semseterID=2)

希望它会工作,从来没有尝试过。

于 2013-05-01T13:29:15.437 回答