Count employees in the same department : COUNT « Aggregate Functions « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> create table employees(
  2    empno      NUMBER(4)
  3  , ename      VARCHAR2(8)
  4  , init       VARCHAR2(5)
  5  , job        VARCHAR2(8)
  6  , mgr        NUMBER(4)
  7  , bdate      DATE
  8  , msal       NUMBER(6,2)
  9  , comm       NUMBER(6,2)
 10  , deptno     NUMBER(2) ) ;

Table created.

SQL>
SQL>
SQL> insert into employees values(1,'Jason',  'N',  'TRAINER', 2,   date '1965-12-18',  800 , NULL,  10);

1 row created.

SQL> insert into employees values(2,'Jerry',  'J',  'SALESREP',3,   date '1966-11-19',  1600, 300,   10);

1 row created.

SQL> insert into employees values(3,'Jord',   'T' , 'SALESREP',4,   date '1967-10-21',  1700, 500,   20);

1 row created.

SQL> insert into employees values(4,'Mary',   'J',  'MANAGER', 5,   date '1968-09-22',  1800, NULL,  20);

1 row created.

SQL> insert into employees values(5,'Joe',    'P',  'SALESREP',6,   date '1969-08-23',  1900, 1400,  30);

1 row created.

SQL> insert into employees values(6,'Black',  'R',  'MANAGER', 7,   date '1970-07-24',  2000, NULL,  30);

1 row created.

SQL> insert into employees values(7,'Red',    'A',  'MANAGER', 8,   date '1971-06-25',  2100, NULL,  40);

1 row created.

SQL> insert into employees values(8,'White',  'S',  'TRAINER', 9,   date '1972-05-26',  2200, NULL,  40);

1 row created.

SQL> insert into employees values(9,'Yellow', 'C',  'DIRECTOR',10,  date '1973-04-27',  2300, NULL,  20);

1 row created.

SQL> insert into employees values(10,'Pink',  'J',  'SALESREP',null,date '1974-03-28',  2400, 0,     30);

1 row created.

SQL>
SQL>
SQL> create table departments
  2  ( deptno NUMBER(2)
  3  , dname  VARCHAR2(10)
  4  , location VARCHAR2(20)
  5  , mgr    NUMBER(4)
  6  ) ;

Table created.

SQL>
SQL> insert into departments values (10,'ACCOUNTING','NEW YORK' ,  2);

1 row created.

SQL> insert into departments values (20,'TRAINING',  'VANCOUVER',  3);

1 row created.

SQL> insert into departments values (30,'SALES',     'CHICAGO',    4);

1 row created.

SQL> insert into departments values (40,'HR',        'BOSTON',     5);

1 row created.

SQL>
SQL>
SQL>
SQL> select deptno, count(e.empno)
  2  from   employees e
  3         right outer join
  4         departments d
  5         using (deptno)
  6  group  by deptno;

    DEPTNO COUNT(E.EMPNO)
---------- --------------
        30              3
        20              3
        40              2
        10              2

SQL>
SQL>
SQL> drop table employees;

Table dropped.

SQL>
SQL> drop table departments;

Table dropped.

SQL>
SQL>








12.3.COUNT
12.3.1.COUNT(x) gets the number of rows returned by a query.
12.3.2.Passes ROWID to COUNT() and gets the number of rows
12.3.3.COUNT() with null
12.3.4.Using an aggregate with the GROUP BY clause to count by city
12.3.5.COUNT(1) from a table
12.3.6.Count column with table alias
12.3.7.Count distinct column value
12.3.8.Compare the difference between count(*) and count(distinct course)
12.3.9.Count employees in the same department
12.3.10.JOIN with AND and aggregate function
12.3.11.count(*) - count(onhand)
12.3.12.count(*) vs count(column name)
12.3.13.Count all employees by even/odd employee id
12.3.14.Count date field value, and calculation