المشاهدات حسب الفئة الرئيسية
بما في ذلك المجموع الكلي لجميع مشاهدات المواضيع في منتداك منذ البداية.
/* SELECT الخارجية لإخفاء عمود ترتيب الاصطناعي، والفرز حسبه. */
SELECT "Category", "Views"
FROM (
/* المشاهدات لكل فئة رئيسية. */
SELECT
topcat AS "Category",
SUM(views) AS "Views",
0 AS sortorder /* عمود ترتيب اصطناعي، هنا للفرز في البداية. */
FROM (
/* مشاهدات المواضيع في الفئات الفرعية. */
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
/* مشاهدات المواضيع في الفئات الرئيسية (باستثناء الفئات الفرعية). */
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
/* إضافة صف TOTAL في النهاية. */
SELECT
'GRAND TOTAL' AS "Category",
SUM(topics.views) AS "Views",
1 AS sortorder /* عمود ترتيب اصطناعي، هنا للفرز في النهاية. */
FROM
topics
GROUP BY "Category"
/* رتب المخرجات إما حسب الفئة أو حسب المشاهدات. فعّل أحد الخيارات التالية: */
/* ORDER BY topcat, subcat */
ORDER BY "Views" DESC
) AS views_by_cat_with_total
ORDER BY sortorder, "Category"