Vários COUNTS no mesmo SELECT

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Avatar do usuário
tfg
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 83
Registrado em: Seg, 03 Mai 2004 3:38 pm
Localização: Novo Hamburgo - RS

Olá pessoal

Estou acostumado a fazer assim:

Selecionar tudo

SELECT COUNT(campo)
FROM tabela
WHERE etc.etc.etc
Tem como fazer vários counts de coisas diferentes num único SELECT?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pode sim!! Vamos testar no SCOTT:

Selecionar tudo

SQL> select empno, ename, job, sal, comm from emp;

     EMPNO ENAME      JOB              SAL       COMM
---------- ---------- --------- ---------- ----------
      7369 SMITE      CLERK            800
      7499 ALLEN      SALESMAN        1600        300
      7521 WARD       SALESMAN        1250        500
      7566 JONES      MANAGER         2975
      7654 MARTIN     SALESMAN        1250       1400
      7698 BLAKE      SALESMAN        2850
      7788 SCOTT      ANALYST         2000
      7844 TURNER     SALESMAN        1500          0
      7876 ADAMS      CLERK           1100
      7900 JAMES      CLERK            999
      7902 FORD       ANALYST         2000

11 rows selected.

SQL> select 
  2    count( case when sal>=2000 then 1 end)        Salario_maior_3000,
  3    count( case when comm is not null then 1 end) Quantos_tem_comissao,
  4    count( case when job='SALESMAN' then 1 end)   Quantos_Salesman
  5  from emp
  6  /

SALARIO_MAIOR_3000 QUANTOS_TEM_COMISSAO QUANTOS_SALESMAN
------------------ -------------------- ----------------
                 4                    4                5

SQL> 
:-o
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes