Mega Code Archive

 
Categories / Oracle PLSQL / Select Query
 

Retrieving the Top Five Students with ROWNUM

SQL> SQL> CREATE TABLE SAT (   2     StudentID  INT NOT NULL,   3     ExamID     INT NOT NULL,   4     Mark       INT,   5     IfPassed   SMALLINT,   6     Comments   VARCHAR(255),   7     CONSTRAINT PK_SAT PRIMARY KEY (StudentID, ExamID)); Table created. SQL> SQL> SQL> INSERT INTO SAT (StudentID,ExamID,Mark,IfPassed,Comments) VALUES (1,1,55,1,'Satisfactory'); 1 row created. SQL> INSERT INTO SAT (StudentID,ExamID,Mark,IfPassed,Comments) VALUES (1,2,73,1,'Good result'); 1 row created. SQL> INSERT INTO SAT (StudentID,ExamID,Mark,IfPassed,Comments) VALUES (2,3,44,1,'Hard'); 1 row created. SQL> INSERT INTO SAT (StudentID,ExamID,Mark,IfPassed,Comments) VALUES (2,5,39,0,'Simple'); 1 row created. SQL> INSERT INTO SAT (StudentID,ExamID,Mark,IfPassed) VALUES (2,6,63,1); 1 row created. SQL> SQL> SQL> SELECT StudentID, AverageMark FROM (   2     SELECT StudentID, AVG(Mark) AS AverageMark   3     FROM SAT   4     GROUP BY StudentID   5     ORDER BY AverageMark DESC   6  )   7  WHERE ROWNUM <= 5;  STUDENTID AVERAGEMARK ---------- -----------          1          64          2  48.6666667 2 rows selected. SQL> SQL> drop table SAT; Table dropped. SQL>