Php 如何在mysql数组中使用while循环?
我有一个名为vw_results的表格,其中保存了特定学生的成绩档案:Php 如何在mysql数组中使用while循环?,php,mysql,Php,Mysql,我有一个名为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 .
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
计算平均成绩
"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'].";"
如果$\u GET['sessionID']=1和$\u GET['semesterID']=2
然后
如果$\u GET['sessionID']=2和$\u GET['semesterID']=1
然后
如果$\u GET['sessionID']=2和$\u GET['semesterID']=2
然后
有什么建议吗?!
谢谢 Uff,你应该问得更清楚,没有人会花时间去理解你的问题。只是我无事可做 如果我正确理解您的需求,那么它将是:
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)
希望它能起作用,千万不要尝试。一个建议。把你的问题简化成一个简单的例子,用更少的代码。我不明白你想要什么@史蒂夫:我已经删除了冗余代码。@SumitBijvani:我想以累加的方式计算GPA,即当形式变量(sessionID=2和semesterID=2)为1-1时,它应该包含在GPA计算的最终计算结果中;1-2;2-1
|cummGPA|
|2.730 |
|cummGPA|
|2.774 |
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)