Aller au contenu principal

Requêtes SQL : Compter toute la hiérarchie sans limite

Dans de nombreux projets — e-commerce, annuaires professionnels, plateformes de services, systèmes de catégories et sous-catégories — il est fréquent d’avoir une structure hiérarchique d’entités :

  • Catégories → Sous-catégories

  • Domaines d’activité → Sous-domaines

  • Rubriques → Sous-rubriques

Et souvent, l’un des besoins les plus courants est le suivant.

Compter le nombre d’éléments (produits, prestataires, appels d’offres…) associés à une catégorie, en incluant automatiquement tous les sous-niveaux.

Cet article explique comment compter toute la hiérarchie sans limite, même si celle-ci possède plusieurs niveaux (3, 5, 10…).

 

Contexte

Nous avons 2 tables:

  •  activity_domain ( contient les domaines d'activités hiérarchisées ).

  • appel_offre ( Chaque entité est lié à un domaine d'activité ).

 

On commence par récupérer uniquement les domaines racines.

WITH RECURSIVE domain_tree AS (
    SELECT id, name, parent_id
    FROM activity_domain
    WHERE parent_id IS NULL
)
SELECT * FROM domain_tree;

 

Profile picture for user admin Stephane K

Écrit le

Il y'a 7 heures
Modifié
Il y'a 6 heures
Loading ...
WhatsApp
Habeuk Support: +49 152 108 01753
Envoyer