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 = 7170 
WHERE 
  cscart_products_categories.product_id IN (
    86915, 86916, 86917, 86918, 86919, 86974, 
    86975, 86976, 86977, 86978, 86979, 
    86980, 87035, 87036, 87037, 87038, 
    87039, 87040, 87041, 87093, 87094, 
    87095, 87096, 87097, 87098, 87099, 
    84638, 84639, 84636, 84637, 91014, 
    91026, 91038, 91051, 84506, 84507, 
    84572, 84573, 84661, 84662, 89057, 
    84504, 84505, 84570, 84571, 89059, 
    89060, 84634, 84635, 86179, 86181, 
    86202, 86204, 86503, 86505, 86779, 
    86781, 84310, 84311, 89204, 89205, 
    89217, 89218, 89230, 89231, 83052, 
    83054, 83601, 83603, 90888, 90890, 
    90967, 90969, 86904, 86929, 86965, 
    86990, 87026, 87051, 87086, 87109, 
    89061, 84502, 84503, 84568, 84569, 
    89063, 89064, 89058, 89206, 89207, 
    89210, 89211, 89219, 89220, 89223
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00295

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "89.98"
    },
    "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": 158,
            "rows_produced_per_join": 158,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "16.12",
              "eval_cost": "15.80",
              "prefix_cost": "31.92",
              "data_read_per_join": "2K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (86915,86916,86917,86918,86919,86974,86975,86976,86977,86978,86979,86980,87035,87036,87037,87038,87039,87040,87041,87093,87094,87095,87096,87097,87098,87099,84638,84639,84636,84637,91014,91026,91038,91051,84506,84507,84572,84573,84661,84662,89057,84504,84505,84570,84571,89059,89060,84634,84635,86179,86181,86202,86204,86503,86505,86779,86781,84310,84311,89204,89205,89217,89218,89230,89231,83052,83054,83601,83603,90888,90890,90967,90969,86904,86929,86965,86990,87026,87051,87086,87109,89061,84502,84503,84568,84569,89063,89064,89058,89206,89207,89210,89211,89219,89220,89223))"
          }
        },
        {
          "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": 7,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "39.50",
              "eval_cost": "0.79",
              "prefix_cost": "87.22",
              "data_read_per_join": "20K"
            },
            "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": 7,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.98",
              "eval_cost": "0.79",
              "prefix_cost": "89.98",
              "data_read_per_join": "126"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
83052 7170,7171M 0
83054 7170,7171M 0
83601 7170,7171M 0
83603 7170,7171M 0
84310 7223M
84311 7223M
84502 7223M
84503 7223M
84504 7223M
84505 7223M
84506 7223M
84507 7223M
84568 7223M
84569 7223M
84570 7223M
84571 7223M
84572 7223M
84573 7223M
84634 7223M
84635 7223M
84636 7223M
84637 7223M
84638 7223M
84639 7223M
84661 7223M
84662 7223M
86179 7170,7171M 0
86181 7170,7171M 0
86202 7170,7171M 0
86204 7170,7171M 0
86503 7170,7171M 0
86505 7170,7171M 0
86779 7170,7171M 0
86781 7170,7171M 0
86904 7170,7191M 0
86915 7170,7191M 0
86916 7170,7191M 0
86917 7170,7191M 0
86918 7170,7191M 0
86919 7170,7191M 0
86929 7170,7191M 0
86965 7170,7191M 0
86974 7170,7191M 0
86975 7170,7191M 0
86976 7170,7191M 0
86977 7170,7191M 0
86978 7170,7191M 0
86979 7170,7191M 0
86980 7170,7191M 0
86990 7170,7191M 0
87026 7170,7191M 0
87035 7170,7191M 0
87036 7170,7191M 0
87037 7170,7191M 0
87038 7170,7191M 0
87039 7170,7191M 0
87040 7170,7191M 0
87041 7170,7191M 0
87051 7170,7191M 0
87086 7170,7191M 0
87093 7170,7191M 0
87094 7170,7191M 0
87095 7170,7191M 0
87096 7170,7191M 0
87097 7170,7191M 0
87098 7170,7191M 0
87099 7170,7191M 0
87109 7170,7191M 0
89057 7170,7171M 0
89058 7192M
89059 7192M
89060 7192M
89061 7170,7171M 0
89063 7192M
89064 7192M
89204 7170,7171M 0
89205 7170,7171M 0
89206 7192M
89207 7192M
89210 7192M
89211 7192M
89217 7170,7171M 0
89218 7170,7171M 0
89219 7192M
89220 7192M
89223 7192M
89230 7170,7171M 0
89231 7170,7171M 0
90888 7171,7170M 0
90890 7171,7170M 0
90967 7171,7170M 0
90969 7171,7170M 0
91014 7191,7170M 0
91026 7191,7170M 0
91038 7191,7170M 0
91051 7191,7170M 0