Numeric Math Functions Oracle PLSQL

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, AVG(CAST(Mark AS FLOAT)) AS AverageMark,
  2         FLOOR(AVG(CAST(Mark AS FLOAT))) AS RoundDown,
  3         CEIL(AVG(CAST(Mark AS FLOAT))) AS RoundUp,
  4         ROUND(AVG(CAST(Mark AS FLOAT)), 0) AS ClosestInt
  5  FROM SAT
  6  GROUP BY StudentID;
 STUDENTID AVERAGEMARK  ROUNDDOWN    ROUNDUP CLOSESTINT
---------- ----------- ---------- ---------- ----------
         1          64         64         64         64
         2  48.6666667         48         49         49
2 rows selected.
SQL>
SQL>
SQL>
SQL> drop table SAT;
Table dropped.