WITH RECURSIVE category_hierarchy AS (
  SELECT 
    category_id, 
    parent_id 
  FROM 
    cscart_categories 
  WHERE 
    category_id IN (
      34, 43, 60, 61, 69, 78, 85, 95, 96, 101, 
      104, 113, 119, 120, 124, 131
    ) 
  UNION ALL 
  SELECT 
    c.category_id, 
    c.parent_id 
  FROM 
    cscart_categories c 
    INNER JOIN category_hierarchy ch ON c.parent_id = ch.category_id
) 
SELECT 
  ch.parent_id AS category_id, 
  SUM(pc.products_count) AS products_count 
FROM 
  category_hierarchy ch 
  JOIN (
    SELECT 
      pc.category_id, 
      COUNT(pc.product_id) AS products_count 
    FROM 
      cscart_products_categories AS pc 
      LEFT JOIN cscart_products AS p ON p.product_id = pc.product_id 
      LEFT JOIN cscart_companies AS c ON p.company_id = c.company_id 
    WHERE 
      p.status = 'A' 
      AND p.paused = 'N' 
      AND c.status = 'A' 
      AND (
        p.amount >= p.min_qty 
        OR (
          p.min_qty IS NULL 
          AND p.amount > 0
        )
      ) 
    GROUP BY 
      pc.category_id
  ) pc ON ch.category_id = pc.category_id 
GROUP BY 
  ch.parent_id 
HAVING 
  ch.parent_id > 0;

Query time 0.01412

Result

category_id products_count
34 95
43 1520
60 85
61 57
69 91
78 77
85 10
95 2
96 50
101 1
104 20
113 168
119 9
120 4
124 8
131 39