SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  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') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 7148 
WHERE 
  cscart_products_categories.product_id IN (
    94568, 94569, 94570, 94571, 94572, 94583, 
    94584, 94585, 94586, 94587, 94588, 
    94604, 94605, 94606, 94607, 94608, 
    94609, 94610, 94611, 94612, 94613, 
    94614, 94615, 94616, 94617, 94618, 
    94619, 94620, 94621, 94622
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00140

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "36.03"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 63,
            "rows_produced_per_join": 63,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "6.58",
              "eval_cost": "6.30",
              "prefix_cost": "12.88",
              "data_read_per_join": "1008"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (94568,94569,94570,94571,94572,94583,94584,94585,94586,94587,94588,94604,94605,94606,94607,94608,94609,94610,94611,94612,94613,94614,94615,94616,94617,94618,94619,94620,94621,94622))"
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "15.75",
              "eval_cost": "0.32",
              "prefix_cost": "34.93",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.79",
              "eval_cost": "0.32",
              "prefix_cost": "36.04",
              "data_read_per_join": "50"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
94568 7241,7309,7346,7208M
94569 7241,7309,7346,7208M
94570 7241,7309,7346,7208M
94571 7241,7309,7346,7208M
94572 7241,7309,7346,7208M
94583 7241,7309,7346,7208M
94584 7241,7309,7346,7208M
94585 7241,7309,7346,7208M
94586 7241,7309,7346,7208M
94587 7241,7309,7346,7208M
94588 7241,7309,7346,7208M
94604 7194M
94605 7194M
94606 7194M
94607 7194M
94608 7194M
94609 7194M
94610 7194M
94611 7194M
94612 7194M
94613 7194M
94614 7194M
94615 7194M
94616 7194M
94617 7194M
94618 7194M
94619 7263M
94620 7263M
94621 7263M
94622 7263M