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
    )
  ) 
  AND pc.category_id IN (
    44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 
    55, 56, 57, 58, 59
  ) 
GROUP BY 
  pc.category_id

Query time 0.00997

Result

category_id products_count
44 1486
45 10
46 3
47 1
48 1
49 1
50 1
51 1
52 1
53 1
54 1
55 1
56 1
57 2
58 2
59 5