Parcionando dados no Oracle
[ad#texto]
Algumas vezes vemos a necessidade de retornar a contagem de registros constantes para um mesmo campo na própria QUERY SELECT. Ficou confuso? Vamos há um exemplo:
Vamos supor que precisamos montar uma SELECT que retorne o número do empregado, o código do departamento e a contagem de quantos empregados existem em cada departamento, tarefa simples, desde que utilizemos OVER em conjunto com PARTITION BY.
SELECT empno
,deptno
,COUNT(*) OVER (PARTITION BY deptno) DEPT_COUNT
FROM emp;
Pronto, como dito no exemplo acima, todas as informações, inclusive a contagem será exibida em uma única QUERY.
A sintaxe é bem simples e é um trabalho em conjunto da função OVER() com o PARTITION BY e mostra as possibilidades das funções estatísticas quando aplicadas direto em um QUERY.