Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Query Select
 

Count distinct with group by

SQL>  create table offerings   2  ( course     VARCHAR2(6)   3  , begindate  DATE   4  , Coder      NUMBER(4)   5  , location   VARCHAR2(8)   6  ) ; Table created. SQL> insert into offerings values ('SQL',date '2009-04-12',13,'DALLAS' ); 1 row created. SQL> insert into offerings values ('OAU',date '2009-08-10',4,'CHICAGO'); 1 row created. SQL> insert into offerings values ('SQL',date '2009-10-04',1,'SEATTLE'); 1 row created. SQL> insert into offerings values ('SQL',date '2009-12-13',1,'DALLAS' ); 1 row created. SQL> insert into offerings values ('JAV',date '2009-12-13',4,'SEATTLE'); 1 row created. SQL> insert into offerings values ('XML',date '2000-02-03',1,'DALLAS' ); 1 row created. SQL> insert into offerings values ('JAV',date '2000-02-01',11,'DALLAS' ); 1 row created. SQL> insert into offerings values ('PLS',date '2000-09-11',8,'DALLAS' ); 1 row created. SQL> insert into offerings values ('XML',date '2000-09-18',NULL,'SEATTLE'); 1 row created. SQL> insert into offerings values ('OAU',date '2000-09-27',13,'DALLAS' ); 1 row created. SQL> insert into offerings values ('ERM',date '2001-01-15',NULL, NULL    ); 1 row created. SQL> insert into offerings values ('PRO',date '2001-02-19',NULL,'DALLAS' ); 1 row created. SQL> insert into offerings values ('RSD',date '2001-02-24',8,'CHICAGO'); 1 row created. SQL> SQL> select Coder   2  ,      count(distinct course)   3  ,      count(*)   4  from   offerings   5  group  by Coder;      CODER COUNT(DISTINCTCOURSE)   COUNT(*) ---------- --------------------- ----------          1                     2          3          4                     2          2          8                     2          2         11                     1          1         13                     2          2                                3          3 6 rows selected. SQL> SQL> drop table offerings; Table dropped.