我有一个名为等级的表。名为“学生、实用、书面”的列。我试图找出考试总分排名前 5 位的学生。以下是我不确定如何正确加入它们的查询。我正在使用 oracle 11g。这让我得到了每个学生的总金额:
SELECT Student, Practical, Written, (Practical+Written) AS SumColumn
FROM Grades;
这将获得前 5 名的学生:
SELECT Student
FROM ( SELECT Student,
, DENSE_RANK() OVER (ORDER BY Score DESC) as Score_dr
FROM Grades )
WHERE Student_dr <= 5
order by Student_dr;