Mega Code Archive

 
Categories / Oracle PLSQL / Select Query
 

Using the HAVING Clause with aggregate function

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) VALUES (2,6,63,1); 1 row created. SQL> SQL> SQL> SELECT StudentID, AVG(Mark) AS AverageMark   2  FROM SAT   3  GROUP BY StudentID   4  HAVING AVG(Mark) < 50 OR AVG(Mark) > 70; no rows selected SQL> SQL> SQL> SQL> drop table SAT; Table dropped.