0

我正在设计一个学生管理系统,我正在尝试设计一个代表成绩单的报告。

我想要做的是获得一份报告,该报告将显示每个学生的所有科目和分数,以及基于科目总分的学生排名。

这是我要显示的信息的示例:

Student  Physics  Chemistry  Total marks   Rank
  1      77       90             167       3
  2      90       98             188       1
  3      90       98             188       1
  4      48       80             128       4

我使用了交叉表报告,我得到了每个学生的所有科目和分数以及总分。现在我想根据总分计算每个学生的排名。我怎样才能做到这一点?

4

1 回答 1

1

它可以通过查询相当容易地完成:

SELECT [Student],
  [Physics],
  [Chemistry],
  [Total_marks],
  RANK() OVER (ORDER BY [Total_marks] DESC) AS Rank 
FROM MyTable
ORDER BY [Student]

SQL 小提琴示例

于 2012-10-24T11:58:11.930 回答