SELECT 
  SQL_CALC_FOUND_ROWS (
    CASE WHEN products.parent_product_id <> 0 THEN products.parent_product_id ELSE products.product_id END
  ) AS product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  GROUP_CONCAT(
    products.product_id 
    ORDER BY 
      products.parent_product_id ASC, 
      products.product_id ASC
  ) AS product_ids, 
  GROUP_CONCAT(
    products.product_type 
    ORDER BY 
      products.parent_product_id ASC, 
      products.product_id ASC
  ) AS product_types, 
  GROUP_CONCAT(
    products.parent_product_id 
    ORDER BY 
      products.parent_product_id ASC, 
      products.product_id ASC
  ) AS parent_product_ids, 
  products.product_type, 
  products.parent_product_id, 
  products.master_product_offers_count, 
  products.master_product_id, 
  products.company_id, 
  descr1.full_description as full_description, 
  descr1.short_description as short_description 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'en' 
  LEFT JOIN cscart_product_prices as prices ON prices.product_id = products.product_id 
  AND prices.lower_limit = 1 
  LEFT JOIN cscart_companies AS companies ON companies.company_id = products.company_id 
  INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  AND cscart_categories.storefront_id IN (0, 1) 
  LEFT JOIN cscart_master_products_storefront_offers_count AS master_products_storefront_offers_count ON master_products_storefront_offers_count.product_id = products.product_id 
  AND master_products_storefront_offers_count.storefront_id = 1 
WHERE 
  1 
  AND cscart_categories.category_id IN (332) 
  AND (
    companies.status IN ('A') 
    OR products.company_id = 0
  ) 
  AND (
    products.usergroup_ids = '' 
    OR FIND_IN_SET(0, products.usergroup_ids) 
    OR FIND_IN_SET(1, products.usergroup_ids)
  ) 
  AND products.status IN ('A') 
  AND prices.usergroup_id IN (0, 0, 1) 
  AND products.master_product_status IN ('A') 
  AND products.master_product_id = 0 
  AND (
    products.company_id > 0 
    OR (
      master_products_storefront_offers_count.count > 0
    )
  ) 
  AND products.product_type != 'D' 
GROUP BY 
  product_id 
ORDER BY 
  product asc, 
  products.product_id ASC 
LIMIT 
  0, 12

Query time 0.00174

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.01047612,
    "filesort": {
      "sort_key": "descr1.product, products.product_id",
      "temporary_table": {
        "filesort": {
          "sort_key": "case when products.parent_product_id <> 0 then products.parent_product_id else products.product_id end",
          "temporary_table": {
            "nested_loop": [
              {
                "table": {
                  "table_name": "cscart_categories",
                  "access_type": "const",
                  "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
                  "key": "PRIMARY",
                  "key_length": "3",
                  "used_key_parts": ["category_id"],
                  "ref": ["const"],
                  "rows": 1,
                  "filtered": 100
                }
              },
              {
                "table": {
                  "table_name": "products_categories",
                  "access_type": "ref",
                  "possible_keys": ["PRIMARY", "pt"],
                  "key": "PRIMARY",
                  "key_length": "3",
                  "used_key_parts": ["category_id"],
                  "ref": ["const"],
                  "loops": 1,
                  "rows": 1,
                  "cost": 0.00183779,
                  "filtered": 100
                }
              },
              {
                "table": {
                  "table_name": "products",
                  "access_type": "eq_ref",
                  "possible_keys": [
                    "PRIMARY",
                    "status",
                    "idx_master_product_id",
                    "wdbi_master_product_status_master_product_id_produc_46b93429beec",
                    "wdbi_master_product_id_master_product_status_produc_611007cab252",
                    "wdbi_master_product_id_master_product_status_produc_37d8c9a2112a",
                    "wdbi_master_product_id_master_product_status_status_1d4dcd83320a",
                    "wdbi_master_product_id_master_product_status_produc_909a0cf2d55b",
                    "wdbi_master_product_id_master_product_status_status_ff7ba2ae2fb0"
                  ],
                  "key": "PRIMARY",
                  "key_length": "3",
                  "used_key_parts": ["product_id"],
                  "ref": [
                    "u985510652_ecartify_abhi.products_categories.product_id"
                  ],
                  "loops": 1,
                  "rows": 1,
                  "cost": 0.00171364,
                  "filtered": 100,
                  "attached_condition": "products.master_product_id = 0 and (products.usergroup_ids = '' or find_in_set(0,products.usergroup_ids) or find_in_set(1,products.usergroup_ids)) and products.`status` = 'A' and products.master_product_status = 'A' and products.product_type <> 'D'"
                }
              },
              {
                "table": {
                  "table_name": "companies",
                  "access_type": "eq_ref",
                  "possible_keys": ["PRIMARY"],
                  "key": "PRIMARY",
                  "key_length": "4",
                  "used_key_parts": ["company_id"],
                  "ref": ["u985510652_ecartify_abhi.products.company_id"],
                  "loops": 1,
                  "rows": 1,
                  "cost": 0.00171364,
                  "filtered": 100,
                  "attached_condition": "trigcond(companies.`status` = 'A' or products.company_id = 0)"
                }
              },
              {
                "table": {
                  "table_name": "master_products_storefront_offers_count",
                  "access_type": "eq_ref",
                  "possible_keys": ["PRIMARY", "idx_storefront_id"],
                  "key": "PRIMARY",
                  "key_length": "8",
                  "used_key_parts": ["product_id", "storefront_id"],
                  "ref": [
                    "u985510652_ecartify_abhi.products_categories.product_id",
                    "const"
                  ],
                  "loops": 1,
                  "rows": 1,
                  "cost": 0.00171364,
                  "filtered": 100,
                  "attached_condition": "trigcond(products.company_id > 0 or master_products_storefront_offers_count.count > 0) and trigcond(master_products_storefront_offers_count.product_id = products_categories.product_id)"
                }
              },
              {
                "table": {
                  "table_name": "descr1",
                  "access_type": "eq_ref",
                  "possible_keys": ["PRIMARY", "product_id"],
                  "key": "PRIMARY",
                  "key_length": "9",
                  "used_key_parts": ["product_id", "lang_code"],
                  "ref": [
                    "u985510652_ecartify_abhi.products_categories.product_id",
                    "const"
                  ],
                  "loops": 1,
                  "rows": 1,
                  "cost": 0.00171364,
                  "filtered": 100,
                  "attached_condition": "trigcond(descr1.lang_code = 'en')"
                }
              },
              {
                "table": {
                  "table_name": "prices",
                  "access_type": "ref",
                  "possible_keys": [
                    "usergroup",
                    "product_id",
                    "lower_limit",
                    "usergroup_id",
                    "wdbi_product_id_lower_limit_usergroup_id_price_eff1727beeef",
                    "wdbi_usergroup_id_lower_limit_product_id_92b7e8f6a250",
                    "wdbi_product_id_lower_limit_usergroup_id_price_perc_3b2301d551d0",
                    "wdbi_lower_limit_usergroup_id_product_id_b93629431718"
                  ],
                  "key": "usergroup",
                  "key_length": "3",
                  "used_key_parts": ["product_id"],
                  "ref": [
                    "u985510652_ecartify_abhi.products_categories.product_id"
                  ],
                  "loops": 1,
                  "rows": 1,
                  "cost": 0.00178377,
                  "filtered": 100,
                  "attached_condition": "prices.lower_limit = 1 and prices.usergroup_id in (0,0,1)"
                }
              }
            ]
          }
        }
      }
    }
  }
}

Result

product_id product company_name product_ids product_types parent_product_ids product_type parent_product_id master_product_offers_count master_product_id company_id full_description short_description
786981 Noodles Drinks and Noodles 786981 P 0 P 0 0 0 28 <p><strong>Lorem Ipsum</strong> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset's Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.</p>