Vues par sous-catégorie

Vues par sous-catégorie

Une analyse plus granulaire des vues par sujet, sans les additionner. Les entrées avec la sous-catégorie « (aucune) » concernent les sujets placés directement dans les catégories de premier niveau.

SELECT 
    topcat AS "Catégorie", 
    subcat AS "Sous-catégorie", 
    SUM(views) AS "Vues par sous-catégorie"

FROM (

    /* Vues des sujets dans les sous-catégories. */
    SELECT
        topcat.name AS topcat, subcat.name AS subcat, SUM(topics.views) AS views
    FROM topics
        INNER JOIN categories subcat ON topics.category_id = subcat.id
        INNER JOIN categories topcat ON subcat.parent_category_id = topcat.id
    GROUP BY topcat.name, subcat.name
    
    UNION

    /* Vues des sujets dans les catégories de premier niveau (en excluant les sous-catégories). */
    SELECT
        topcat.name AS topcat, '(aucune)', SUM(topics.views) AS views
    FROM topics 
        INNER JOIN categories topcat ON topics.category_id = topcat.id
    WHERE topcat.parent_category_id IS NULL
    GROUP BY topcat.name

) AS views_by_cat

GROUP BY topcat, subcat

/* Triez la sortie par catégorie ou par vues. Activez l'une de ces options : */
/* ORDER BY topcat, subcat */
ORDER BY "Vues par sous-catégorie" DESC
7 « J'aime »