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 = 7324 
WHERE 
  cscart_products_categories.product_id IN (
    89291, 89370, 89262, 89372, 89273, 89276, 
    89369, 89371, 89374, 89292, 89287, 
    86819, 86821, 89272, 89275, 89357, 
    89271, 89274, 89358, 86822, 89327, 
    89373, 89266, 89328, 89329, 89269, 
    89402, 89404, 89403, 89331, 89265, 
    89330, 89264, 86817, 89368, 89268, 
    89367, 89308, 89267, 86818, 86820, 
    89295, 89332, 89294, 89405, 89309, 
    89321, 89257
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01604

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "90.30"
    },
    "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": 100,
            "rows_produced_per_join": 100,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "10.30",
              "eval_cost": "10.00",
              "prefix_cost": "20.30",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (89291,89370,89262,89372,89273,89276,89369,89371,89374,89292,89287,86819,86821,89272,89275,89357,89271,89274,89358,86822,89327,89373,89266,89328,89329,89269,89402,89404,89403,89331,89265,89330,89264,86817,89368,89268,89367,89308,89267,86818,86820,89295,89332,89294,89405,89309,89321,89257))"
          }
        },
        {
          "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": 100,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "25.00",
              "eval_cost": "10.00",
              "prefix_cost": "55.30",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "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": 5,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "25.00",
              "eval_cost": "0.50",
              "prefix_cost": "90.30",
              "data_read_per_join": "13K"
            },
            "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')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
86817 7326M
86818 7326M
86819 7326M
86820 7326M
86821 7326M
86822 7326M
89257 7325,7143,7324,7153,7154M 0
89262 7143,7325,7324,7154M,7153 0
89264 7326M
89265 7326M
89266 7326M
89267 7326M
89268 7326M
89269 7326M
89271 7326M
89272 7326M
89273 7326M
89274 7326M
89275 7326M
89276 7326M
89287 7324,7325,7154M,7143,7153 0
89291 7143,7325,7324,7153,7154M 0
89292 7153,7143,7324,7154M,7325 0
89294 7153,7324,7143,7154M,7325 0
89295 7325,7153,7143,7154M,7324 0
89308 7326M
89309 7326M
89321 7326M
89327 7326M
89328 7326M
89329 7326M
89330 7326M
89331 7326M
89332 7326M
89357 7325,7154M,7153,7324,7143 0
89358 7325,7143,7153,7324,7154M 0
89367 7326M
89368 7326M
89369 7326M
89370 7326M
89371 7326M
89372 7326M
89373 7326M
89374 7326M
89402 7143,7325,7153,7154M,7324 0
89403 7154M,7143,7153,7324,7325 0
89404 7154M,7153,7324,7143,7325 0
89405 7154M,7325,7153,7324,7143 0