Код не отображает группы в запросе SQL, показывает NULL
SELECT
CASE
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) between 18 and 30
THEN "Группа 1"
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) between 31 and 45
THEN "Группа 2"
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) between 46 and 60
THEN "Группа 3"
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) > 60
THEN "Группа 4"
END as customer_group_name
, p.product_group_name
, count(p.product_group_name) as cnt
FROM orders o
JOIN customers c
ON o.customer_id = c.customer_id
JOIN orders_product op
ON o.order_id = op.order_id
JOIN products p
ON op.product_id = p.product_id
GROUP BY
CASE
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) between 18 and 30
THEN "Группа 1"
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) between 31 and 45
THEN "Группа 2"
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) between 46 and 60
THEN "Группа 3"
WHEN timestampdiff(YEAR, CURDATE(), c.birth_dt) > 60
THEN "Группа 4"
END
, p.product_group_name
ORDER BY count(p.product_group_name) DESC;
Источник: Stack Overflow на русском