You are on page 1of 3

SQL> SELECT SUM(SAL) , JOB FROM EMP GROUP BY JOB;

SUM(SAL) JOB
---------- ---------
4150 CLERK
5600 SALESMAN
8275 MANAGER
6000 ANALYST
5000 PRESIDENT

SQL> SELECT HIREDATE FROM EMP GROUP BY HIREDATE HAVING COUNT(*)>=3;

no rows selected

SQL> SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(*)>2 AND SUM(SAL)>9000;

DEPTNO
----------
20
30

SQL> SELECT COUNT(*),AVG(SAL) FROM EMP WHERE SAL>COMM GROUP BY DEPTNO;

COUNT(*) AVG(SAL)
---------- ----------
3 1450

SQL> SELECT SAL FROM EMP GROUP BY SAL HAVING COUNT(*)>1;

SAL
----------
1250
3000

SQL> SELECT ENAME FROM EMP GROUP BY ENAME HAVING COUNT(*)>1;

no rows selected

SQL> SELECT AVG(SAL),DEPTNO FROM EMP GROUP BY DEPTNO HAVING AVG(SAL) BETWEEN 2500
AND 3000;

AVG(SAL) DEPTNO
---------- ----------
2916.66667 10

SQL> SELECT COUNT(*),DEPTNO FROM EMP WHERE JOB IN ('MANAGER','ANALYST') AND SAL*12
LIKE '%0' GROUP BY DEPTNO;

COUNT(*) DEPTNO
---------- ----------
3 20
1 30
1 10

SQL> SELECT COUNT(*),DEPTNO FROM EMP WHERE JOB = 'CLERK' GROUP BY DEPTNO;

COUNT(*) DEPTNO
---------- ----------
2 20
1 30
1 10

SQL> SELECT MAX(SAL),DEPTNO FROM EMP WHERE JOB='MANAGER' GROUP BY DEPTNO;

MAX(SAL) DEPTNO
---------- ----------
2975 20
2850 30
2450 10

SQL> SELECT COUNT(SAL),SAL FROM EMP GROUP BY SAL HAVING COUNT (SAL)>1;

COUNT(SAL) SAL
---------- ----------
2 1250
2 3000

SQL> SELECT COUNT(*),DEPTNO FROM EMP WHERE DEPTNO!=10 GROUP BY DEPTNO;

COUNT(*) DEPTNO
---------- ----------
5 20
6 30

SQL> SELECT DEPTNO FROM EMP WHERE COMM IS NOT NULL GROUP BY DEPTNO;

DEPTNO
----------
30

SQL> SELECT COUNT(DEPTNO) , DEPTNO FROM EMP WHERE SAL>1600 AND JOB!='MANAGER' GROUP
BY DEPTNO;

COUNT(DEPTNO) DEPTNO
------------- ----------
2 20
1 10

SQL> SELECT AVG(SAL),JOB FROM EMP WHERE MGR IS NOT NULL GROUP BY JOB;

AVG(SAL) JOB
---------- ---------
1037.5 CLERK
1400 SALESMAN
2758.33333 MANAGER
3000 ANALYST

SQL> SELECT COUNT(*),HIREDATE , DEPTNO FROM EMP GROUP BY HIREDATE , DEPTNO;

COUNT(*) HIREDATE DEPTNO


---------- --------- ----------
1 17-DEC-80 20
1 20-FEB-81 30
1 22-FEB-81 30
1 02-APR-81 20
1 28-SEP-81 30
1 01-MAY-81 30
1 09-JUN-81 10
1 19-APR-87 20
1 17-NOV-81 10
1 08-SEP-81 30
1 23-MAY-87 20

COUNT(*) HIREDATE DEPTNO


---------- --------- ----------
1 03-DEC-81 30
1 03-DEC-81 20
1 23-JAN-82 10

14 rows selected.

SQL> SELECT COUNT(*) , SAL , DEPTNO FROM EMP GROUP BY SAL , DEPTNO HAVING
COUNT(*)>1;

COUNT(*) SAL DEPTNO


---------- ---------- ----------
2 1250 30
2 3000 20

SQL> SELECT MAX(SAL) , JOB FROM EMP WHERE ENAME NOT LIKE 'K%' GROUP BY JOB;

MAX(SAL) JOB
---------- ---------
1300 CLERK
1600 SALESMAN
2975 MANAGER
3000 ANALYST

SQL> SELECT COUNT(*) , MGR FROM EMP WHERE MGR = 7839 GROUP BY JOB;
SELECT COUNT(*) , MGR FROM EMP WHERE MGR = 7839 GROUP BY JOB
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression

SQL> SELECT COUNT(*) FROM EMP WHERE MGR = 7839 GROUP BY JOB;

COUNT(*)
----------
3

SQL> SELECT COUNT(*) , MGR FROM EMP WHERE MGR = 7839 GROUP BY MGR;

COUNT(*) MGR
---------- ----------
3 7839

SQL> spool off

You might also like