This is been a headache challenge for me in my project, being a php and or say sql novice. I must first of all indicate that i'm running this code in php with binded params, since I am using pdo.
Now, as the title indicates, how can I rank students in a class, after having calculated their raw scores from Aggregate Sum Derived Table (From Clause), without @variables in sql. Something like, let assume my data pulled from the database is:
studref   Name    English    Maths    Gov
  Bd1     Ida      66         78      49
  Bd2     Iyan     58         80      69
  Bd3     Ivan     44         56      80
  Bd4     Iven     63         92      68
  Bd5     Ike      69         77      59
So using Aggregate Sum in derived table, I then add another column, which is summation of the marks from the various subjects like:
SUM(THE SCORES) AS accum_raw_scores
 studref   Name    English    Maths    Gov    accum_raw_scores
  Bd1      Ida      66         78      49         193
  Bd2      Iyan     58         80      69         207
  Bd3      Ivan     44         56      80         180
  Bd4      Iven     63         92      68         223
  Bd5      Ike      69         77      59         205
So, what I want to do next is to add another column, which will represent the rank of each student, based on his/her total score from the subjects. Hence, this is where I want the code below to handle that for me:
1+(SELECT COUNT(*) 
   FROM (SELECT s.studref, SUM(s.subjectscore) AS total_score
          FROM studentsreports s
          GROUP BY s.studref) AS sub
   WHERE sub.total_score > main.accum_raw_scores) AS overall_position,
So that in the end, I will have something like:
studref  Name  English  Maths  Gov  accum_raw_scores   rank
Bd1      Ida    66      78     49         193           4
Bd2      Iyan   58      80     69         207           2
Bd3      Ivan   44      56     80         180           5
Bd4      Iven   63      92     68         223           1
Bd5      Ike    69      77     59         205           3
Unfortunately, I have tried several approaches but to no success. Please help! Meanwhile, I want to try as much as possible to do without variables.