Wrap case when into sum() function : SUM « Aggregate Functions « Oracle PL / SQL






Wrap case when into sum() function

    

SQL>
SQL> create table emp(
  2           emp_no                 integer         primary key
  3          ,lastname               varchar2(20)    not null
  4          ,firstname              varchar2(15)    not null
  5          ,midinit                varchar2(1)
  6          ,street                 varchar2(30)
  7          ,city                   varchar2(20)
  8          ,state                  varchar2(2)
  9          ,zip                    varchar2(5)
 10          ,shortZipCode           varchar2(4)
 11          ,area_code              varchar2(3)
 12          ,phone                  varchar2(8)
 13          ,salary                 number(5,2)
 14          ,birthdate              date
 15          ,startDate              date
 16          ,title                  varchar2(20)
 17          ,dept_no                integer
 18          ,mgr                    integer
 19          ,region                 number
 20          ,division               number
 21          ,total_sales            number
 22  );

Table created.

SQL>
SQL> -- emp Table Inserts:
SQL> insert into emp(emp_no, lastname, firstname, midinit, street, city, state, zip,shortZipCode, area_code, phone, birthdate, title)values
  2                      (1,'Z','Joy','R','1 Ave','New York','NY','12122','2333','212','200-1111','12-nov-1976','President');

1 row created.

SQL>
SQL>
SQL> select
  2   sum ( case when salary between 6 and 10 then 1 else 0 end )
  3        as sal_6_10,
  4   sum ( case when salary between 11 and 15 then 1 else 0 end )
  5        as sal_11_15,
  6   sum ( case when salary between 16 and 20 then 1 else 0 end )
  7        as sal_16_20,
  8   sum ( case when salary between 21 and 25 then 1 else 0 end )
  9        as sal_21_25
 10  from emp;

  SAL_6_10  SAL_11_15  SAL_16_20  SAL_21_25
---------- ---------- ---------- ----------
         0          0          0          0

1 row selected.

SQL> drop table emp;

Table dropped.

   
    
    
    
  








Related examples in the same category

1.SUM: total for all NOT NULL values, accepts only numeric datatype values
2.Syntax: SUM([DISTINCT]|[ALL] )
3.GROUP BY function would produce inventory totals distributed across different vendors
4.SUM function and NULLs
5.Using the SUM function with GROUP BY Clause
6.sum with column calculation
7.Add an "OTHER" and "TOTAL" column to the report:
8.Compute sum on salary
9.Sum column for a certain time period
10.Sum salary group by department number
11.Sum salary over
12.Sum() function and having clause
13.Doing calculation in sum() function