Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Agrupar por vs Particionar por no Oracle


Eles não são os mesmos.

Isso retornará 3 linhas:
select deptno, count(*) c from emp group by deptno;

DEPTNO C
------ -
10     3
20     5
30     6

Isso retornará 14:
select deptno, count(*) over (partition by deptno) c from emp;


DEPTNO C
------ -
10     3
10     3
10     3
20     5
20     5
20     5
20     5
20     5
30     6
30     6
30     6
30     6
30     6
30     6