Код не отображает группы в запросе SQL, показывает NULL

Рейтинг: 0Ответов: 0Опубликовано: 13.06.2023
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;

Ответы

Ответов пока нет.