Finding the top N ranks in a query was always an interesting problem with Oracle. Here's some SQL to help you do that quickly.
A much more efficient method is to get it in a cursor and read only 3 records.
SELECT A.studentid, A.grade FROM student_grades A WHERE 3 >= (SELECT COUNT(DISTINCT B.grade) FROM student_grades B WHERE b.grade >= a.total_amount) ORDER BY A.grade DESC STUDENTID GRADE --------- ------------ 482 300 650 142 1481 109 3 rows selected.
From Oracle 8 onwards, this is a non-issue since FROM clause can have sub-queries.
Since you are seeing this, it means that your browser does not support cascading style sheets. Please download and use one of the many browsers that support web standards.