Maison  >  Article  >  base de données  >  RECOMMANDATION

RECOMMANDATION

Barbara Streisand
Barbara Streisandoriginal
2024-11-19 18:20:03721parcourir

RECOMMANDATION

Comprendre l'utilisation de la fonction RECOMMANDATION dans SQL

La fonction RECOMMANDATION est un outil puissant en SQL qui vous permet de générer des sous-totaux et des totaux généraux dans des requêtes agrégées. Cette fonctionnalité est particulièrement utile pour les rapports et les analyses, où il est nécessaire de calculer des valeurs consolidées à différents niveaux de détail.


Qu’est-ce que le RECOMMANDATION ?

La fonction RECOMMANDATION est utilisée en conjonction avec la clause GROUP BY pour créer des regroupements hiérarchiques. Il ajoute automatiquement des lignes supplémentaires qui représentent les sous-totaux (sommes partielles) et le total général à la fin de la requête.

Syntaxe de base

SELECT column1, column2, aggregation(column3)
FROM table
GROUP BY RECOMMANDATION(column1, column2);

Comment ça marche ?

  • RECOMMANDATION traite les colonnes spécifiées dans la clause GROUP BY par ordre hiérarchique.
  • Cela commence par regrouper toutes les valeurs pour chaque niveau plus détaillé, puis passe progressivement aux niveaux moins détaillés.
  • Enfin, il ajoute une ligne avec le grand total.

Exemple pratique

Travaillons avec la table des produits créée dans le code ci-dessus, qui contient des informations sur les produits et leurs catégories.

1. Requête normale

Si on interroge uniquement le regroupement par catégorie, on obtient le résultat suivant :

SELECT product_category, SUM(product_value) AS total
FROM products
GROUP BY product_category;

Résultat :

Category Total
clothing 40.48
food 6.97

2. Requête avec RECOMMANDATION

En ajoutant la fonction RECOMMANDATION, nous incluons les sous-totaux et le total général :

SELECT CASE
         WHEN product_category IS NULL THEN 'Grand Total'
         ELSE product_category
       END AS category,
       SUM(product_value) AS total
FROM products
GROUP BY RECOMMANDATION(product_category);

Résultat :

Catégorie Total ête> vêtements 40.48 nourriture 6,97
Category Total
clothing 40.48
food 6.97
Grand Total 47.45
Grand Total 47h45

3. Sous-totaux à plusieurs niveaux


Nous pouvons aller plus loin et calculer des sous-totaux à plusieurs niveaux. Par exemple, pour calculer les sous-totaux par catégorie et par produit :

SELECT CASE
         WHEN product_category IS NULL AND product_name IS NULL THEN 'Grand Total'
         WHEN product_name IS NULL THEN 'Subtotal - ' || product_category
         ELSE product_name
       END AS description,
       SUM(product_value) AS total
FROM products
GROUP BY RECOMMANDATION(product_category, product_name);

Résultat :

Description Total
T-shirt 10.99
Shorts 8.99
Shoes 20.50
Subtotal - clothing 40.48
Rice 1.99
Popcorn 0.99
Filet Steak 3.99
Subtotal - food 6.97
Grand Total 47.45
Description Total ête> T-shirt 10,99 Shorts 8,99 Chaussures 20h50 Sous-total - vêtements 40.48 Riz 1,99 Pop-corn 0,99 Filet de steak 3,99 Sous-total - nourriture 6,97 Grand Total 47h45

Quand utiliser RECOMMANDATION ?

  • Rapports nécessitant des résumés consolidés.
  • Scénarios dans lesquels vous souhaitez automatisation des calculs totaux sans avoir besoin d'écrire des requêtes supplémentaires.
  • Données hiérarchiques nécessitant analyse à différents niveaux de granularité.

La fonction RECOMMANDATION simplifie la création de rapports complexes, réduisant ainsi le besoin de manipulation manuelle. Cette fonctionnalité est prise en charge par de nombreuses bases de données telles qu'Oracle, SQL Server et MySQL. Utilisez-le pour rendre vos requêtes plus efficaces et vos rapports plus dynamiques ! ?

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