学生按班级定位

时间:2014-07-14 16:11:38

标签: php

作为一个例子,我创建了一个数据库数据有以下字段,

id,studentNo,class,mathsscore,mathposition,engscore,engposition,bioscore,bioposition,physcore,phyposition. 

假设表格如下:

id | studentNo | Class | mathscore | mathposition
-------------------------------------------------
1       10      Junior 1    56       ?
2       11      Junior 1    55       ?
3       12      Junior 1    66       ?
4       13      Junior 1    34       ?
5       14      Junior 1    87       ?
6       15      Junior 2    54       ?
7       16      Junior 2    56       ?
8       17      Junior 2    55       ?
9       18      Junior 3    87       ?
10      19      Junior 3    77       ?

所以如何根据他们的类使用php来回显每个学生的位置,因为总和是在具有不同分支的同一个数据库中一起完成的

1 个答案:

答案 0 :(得分:0)

使用相关性的一些棘手的查询。我只会告诉你数学,然后你可以考虑别人。这个想法是计算每个学生的数学成绩较低或相等的学生人数。如果我有30分,有15名学生得分<= 30,那么我在课堂上的位置是30 + 1 = 31(你可以在展示时这样做)

SELECT a.studentNo, (SELECT count(*) FROM students b WHERE b.mathscore <= a.mathscore AND b.class = a.class) as position FROM students a;

P.S 可能会很慢......