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 = 7237 
WHERE 
  cscart_products_categories.product_id IN (
    89656, 89698, 89655, 86874, 88375, 88376, 
    88331, 88332, 88339, 88370, 88371, 
    89697, 88328, 88327, 88329, 88326, 
    86872, 88368, 88369, 88373, 86875, 
    88325, 86883, 86870, 88372, 88324, 
    88367, 88323, 86868, 86871, 86873, 
    88366, 86869, 86881, 86878, 86879, 
    89720, 86876, 86886, 89719, 89722, 
    86877, 86882, 86884, 86885, 89579, 
    89581, 89583, 89585, 89587, 89578, 
    89580, 89582, 89584, 89586, 89588, 
    89577, 85567, 89576, 94024, 94025, 
    94382, 94383, 94384, 94385, 94386, 
    94387, 94388, 94389, 94390, 94391, 
    94392, 94393, 94394, 94395, 94396, 
    94397, 94398, 94399, 94400, 94401, 
    94402, 94403, 94404, 94405, 94406, 
    94407, 94408, 94409, 94410, 94411, 
    94412, 94413, 94414, 94415, 94416
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01784

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "129.30"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "5.60"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 208,
            "rows_produced_per_join": 8,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "20.72",
              "eval_cost": "0.83",
              "prefix_cost": "21.55",
              "data_read_per_join": "21K"
            },
            "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": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 117,
            "rows_produced_per_join": 5,
            "filtered": "0.57",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.56",
              "prefix_cost": "121.75",
              "data_read_per_join": "89"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (89656,89698,89655,86874,88375,88376,88331,88332,88339,88370,88371,89697,88328,88327,88329,88326,86872,88368,88369,88373,86875,88325,86883,86870,88372,88324,88367,88323,86868,86871,86873,88366,86869,86881,86878,86879,89720,86876,86886,89719,89722,86877,86882,86884,86885,89579,89581,89583,89585,89587,89578,89580,89582,89584,89586,89588,89577,85567,89576,94024,94025,94382,94383,94384,94385,94386,94387,94388,94389,94390,94391,94392,94393,94394,94395,94396,94397,94398,94399,94400,94401,94402,94403,94404,94405,94406,94407,94408,94409,94410,94411,94412,94413,94414,94415,94416))"
          }
        },
        {
          "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": 5,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.40",
              "eval_cost": "0.56",
              "prefix_cost": "123.71",
              "data_read_per_join": "89"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
85567 7291M
86868 7239M
86869 7239M
86870 7239M
86871 7239M
86872 7239M
86873 7239M
86874 7239M
86875 7239M
86876 7239M
86877 7239M
86878 7239M
86879 7239M
86881 7239M
86882 7239M
86883 7239M
86884 7239M
86885 7239M
86886 7239M
88323 7237,7268,7276M 0
88324 7237,7268,7276M 0
88325 7237,7268,7276M 0
88326 7237,7270,7277M 0
88327 7237,7270,7277M 0
88328 7237,7270,7277M 0
88329 7237,7268,7276M 0
88331 7237,7270,7277M 0
88332 7237,7270,7277M 0
88339 7237,7270,7277M 0
88366 7237,7274,7280M 0
88367 7237,7274,7280M 0
88368 7237,7272,7281M 0
88369 7237,7272,7281M 0
88370 7237,7272,7281M 0
88371 7237,7272,7281M 0
88372 7237,7274,7280M 0
88373 7237,7274,7280M 0
88375 7237,7272,7281M 0
88376 7237,7272,7281M 0
89576 7291M
89577 7291M
89578 7291M
89579 7291M
89580 7291M
89581 7291M
89582 7291M
89583 7291M
89584 7291M
89585 7291M
89586 7291M
89587 7291M
89588 7291M
89655 7237,7268,7292M 0
89656 7237,7268,7292M 0
89697 7237,7274,7295M 0
89698 7237,7274,7295M 0
89719 7239M
89720 7239M
89722 7239M
94024 7291M
94025 7291M
94382 7268M
94383 7274M
94384 7270M
94385 7270M
94386 7270M
94387 7272M
94388 7270M
94389 7270M
94390 7270M
94391 7270M
94392 7270M
94393 7270M
94394 7270M
94395 7270M
94396 7272M
94397 7272M
94398 7270M
94399 7272M
94400 7272M
94401 7270M
94402 7270M
94403 7270M
94404 7270M
94405 7270M
94406 7270M
94407 7270M
94408 7270M
94409 7270M
94410 7270M
94411 7270M
94412 7270M
94413 7270M
94414 7270M
94415 7270M
94416 7270M