Maison  >  Article  >  base de données  >  Comment utiliser le regroupement dans Oracle

Comment utiliser le regroupement dans Oracle

下次还敢
下次还敢original
2024-04-30 08:09:151185parcourir

La fonction

GROUPING détermine l'imbrication du niveau de regroupement, renvoyant 0 pour le regroupement le plus externe et 1 pour le regroupement interne. Peut être utilisé pour identifier le regroupement le plus externe, calculer les résultats de la fonction d'agrégation et créer des conditions basées sur le regroupement.

Comment utiliser le regroupement dans Oracle

Fonction GROUPING dans Oracle

La fonction GROUPING est utilisée pour marquer les niveaux de regroupement dans les calculs de fonctions d'agrégation. Il renvoie une valeur indiquant si la ligne appartient au groupe le plus profondément imbriqué.

Syntaxe

<code>GROUPING(expr)</code>

où :

  • expr est une colonne ou une expression qui spécifie la plage de regroupement. La fonction

Usage

GROUPING peut être utilisée pour :

  • Identifier les lignes dans le regroupement le plus externe.
  • Le résultat de la fonction d'agrégation est calculé uniquement dans le groupe le plus externe.
  • Créez des conditions basées sur la hiérarchie de regroupement.

Valeurs de retour

La fonction GROUPING renvoie les valeurs suivantes :

  • 0 : Si la ligne appartient au regroupement imbriqué le plus profond.
  • 1 : Si la ligne appartient au groupement interne.

Exemple

<code>SELECT department_id, job_id, SUM(salary) AS total_salary,
       GROUPING(job_id) AS group_level
FROM employee
GROUP BY department_id, job_id;</code>

Résultat :

department_id job_id total_salary group_level
1 0 20 60000 0
10 30 40000 0
10 40 20000 1
20 50 50000 0
20 60 30000 1

Dans cet exemple, la colonne group_level indique :

  • Departement_id et job_id appartiennent au groupe le plus externe (group_level est 0).
  • department_id est le groupe externe et job_id est le groupe interne (group_level est 1).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn