Ansichten nach Hauptkategorie
Inklusive der Gesamtsumme aller Themenansichten auf Ihrem Forum seit dem allerersten Tag.
/* Äußere SELECT-Anweisung, um die künstliche Spalte für die Sortierreihenfolge auszublenden und danach zu sortieren. */
SELECT "Kategorie", "Ansichten"
FROM (
/* Ansichten pro Hauptkategorie. */
SELECT
topcat AS "Kategorie",
SUM(views) AS "Ansichten",
0 AS sortorder /* Künstliche Spalte für die Sortierung, hier, um ganz nach vorne zu sortieren. */
FROM (
/* Themenansichten in Unterkategorien. */
SELECT
topcat.name AS topcat, 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
UNION
/* Themenansichten in Hauptkategorien (ohne Unterkategorien). */
SELECT
topcat.name AS topcat, 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
UNION
/* Am Ende eine ZEILE MIT GESAMTSUMME hinzufügen. */
SELECT
'GESAMTSUMME' AS "Kategorie",
SUM(topics.views) AS "Ansichten",
1 AS sortorder /* Künstliche Spalte für die Sortierung, hier, um ganz nach hinten zu sortieren. */
FROM
topics
GROUP BY "Kategorie"
/* Ausgabe entweder nach Kategorie oder nach Ansichten sortieren. Aktivieren Sie eine dieser Optionen: */
/* ORDER BY topcat, subcat */
ORDER BY "Ansichten" DESC
) AS views_by_cat_with_total
ORDER BY sortorder, "Kategorie"