Samedi 14 mai 2011 6 14 /05 /Mai /2011 21:22

 

Oracle SQL GROUP BY ROLLUP.

Vous pouvez utiliser l'extension ROLLUP pour produire des valeurs sous-total en l'utilisant avec la fonction SUM(). Lorsqu'il est utilisé avec SUM, ROLLUP génère des sous-totaux par rapport au niveau le plus détaillé au grand total. Les fonctions d'agrégations telles que SUM, COUNT, AVG, MIN, MAX peuvent être utilisées.

Le ROLLUP s’exécute indépendamment de toute hiérarchie des métadonnées dans votre système. Leurs calculs sont basés entièrement sur les colonnes spécifiées dans l'instruction SELECT dans lequel ils apparaissent.
ROLLUP ne restreint pas la capacité des colonnes de la clause GROUP BY.

Ici, nous allons comparer le résultat de 2 requêtes, l'une avec un GROUP BY et l'autre avec un GROUP BY ROLLUP.

 

SELECT...GROUP BY.

 
  SELECT   DEPTNO, JOB, SUM (SAL)
    FROM   SCOTT.EMP
GROUP BY   (DEPTNO, JOB)
ORDER BY   DEPTNO;
          
DEPTNO JOB SUM (SAL)
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

 

SELECT...GROUP BY ROLLUP.

 
  SELECT   DEPTNO, JOB, SUM (SAL)
    FROM   SCOTT.EMP
GROUP BY   ROLLUP (DEPTNO, JOB)
ORDER BY   DEPTNO;
          
DEPTNO JOB SUM (SAL)
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10   8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20   10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600
30   9400
    29025

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Update conditionnées de Tables avec MERGE INTO
Par Daniel Roesch - Publié dans : COMMANDES SQL DML-LMD
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés