case when count(*) NOT between ... and : Case Query « Select Query « Oracle PL / SQL






case when count(*) NOT between ... and

   
SQL>
SQL> CREATE TABLE EMP(
  2      EMPNO NUMBER(4) NOT NULL,
  3      ENAME VARCHAR2(10),
  4      JOB VARCHAR2(9),
  5      MGR NUMBER(4),
  6      HIREDATE DATE,
  7      SAL NUMBER(7, 2),
  8      COMM NUMBER(7, 2),
  9      DEPTNO NUMBER(2)
 10  );
SQL>
SQL> INSERT INTO EMP VALUES(7369, 'SMITH', 'CLERK', 7902,TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
SQL> INSERT INTO EMP VALUES(7499, 'ALLEN', 'SALESMAN', 7698,TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
SQL> INSERT INTO EMP VALUES(7521, 'WARD', 'SALESMAN', 7698,TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
SQL> INSERT INTO EMP VALUES(7566, 'JONES', 'MANAGER', 7839,TO_DATE('2-APR-1981', 'DD-MON-YYYY'), 2975, NULL, 20);
SQL> INSERT INTO EMP VALUES(7654, 'MARTIN', 'SALESMAN', 7698,TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
SQL> INSERT INTO EMP VALUES(7698, 'BLAKE', 'MANAGER', 7839,TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);
SQL> INSERT INTO EMP VALUES(7782, 'CLARK', 'MANAGER', 7839,TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);
SQL> INSERT INTO EMP VALUES(7788, 'SCOTT', 'ANALYST', 7566,TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
SQL> INSERT INTO EMP VALUES(7839, 'KING', 'PRESIDENT', NULL,TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
SQL> INSERT INTO EMP VALUES(7844, 'TURNER', 'SALESMAN', 7698,TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);
SQL> INSERT INTO EMP VALUES(7876, 'ADAMS', 'CLERK', 7788,TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
SQL> INSERT INTO EMP VALUES(7900, 'JAMES', 'CLERK', 7698,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);
SQL> INSERT INTO EMP VALUES(7902, 'FORD', 'ANALYST', 7566,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);
SQL> INSERT INTO EMP VALUES(7934, 'MILLER', 'CLERK', 7782,TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);
SQL>
SQL>
SQL> select deptno, count(*),
  2         case when count(*) NOT between 3 and 8 then '...'
  3              else null
  4          end
  5    from emp
  6   group by deptno
  7  /
                                                              

    DEPTNO    COUNT(*)  CAS
----------  ----------  ---
        10           3
        20           5
        30           6
                    
SQL> delete from emp where empno in ( 7369, 7566, 7788 );
SQL>
SQL> select deptno, count(*),
  2         case when count(*) NOT between 3 and 8 then '...'
  3              else null
  4          end
  5    from emp
  6   group by deptno
  7  /
                                                              

    DEPTNO    COUNT(*)  CAS
----------  ----------  ---
        10           3
        20           2  ...
        30           6

SQL>
SQL>
SQL> drop table emp;

   
    
    
  








Related examples in the same category

1.You could use the case statement in an SQL statement
2.Combine case with NVL function
3.Combine Case with group by
4.Use the CASE expression and SUM function
5.Use the CASE expression and SUM function to create an order price report
6.case switch based on clob data
7.Use case ... when to output comments for marks
8.Use case when and grouping function together
9.Use case when clause to decode value
10.Use case when statement to replace if statement
11.Use case when statement with between ... and
12.Use case when statement with exists and subquery
13.Use case when statement with in()
14.Use case when statement with to_char() like
15.Use case when with comparasion operator
16.A searched CASE statement
17.use case when to control the order index
18.Rename case when column