المشاهدات حسب الفئة الفرعية
تحليل أكثر تفصيلاً لمشاهدات المواضيع، دون جمعها. المدخلات ذات الفئة الفرعية “(none)” تتعلق بالمواضيع الموضوعة مباشرة في الفئات الرئيسية.
SELECT
topcat AS "الفئة",
subcat AS "الفئة الفرعية",
SUM(views) AS "مشاهدات الفئة الفرعية"
FROM (
/* مشاهدات المواضيع في الفئات الفرعية. */
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
/* مشاهدات المواضيع في الفئات الرئيسية (باستثناء الفئات الفرعية). */
SELECT
topcat.name AS topcat, '(none)', 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
/* رتب المخرجات إما حسب الفئة أو حسب المشاهدات. فعّل أحد الخيارات التالية: */
/* ORDER BY topcat, subcat */
ORDER BY "مشاهدات الفئة الفرعية" DESC