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 (
    91863, 92227, 82402, 88146, 88589, 89589, 
    92210, 87786, 87874, 85554, 85577, 
    87792, 87798, 87880, 86366, 86368, 
    86806, 92373, 91900, 87873, 90317, 
    90319, 90320, 84244, 85645, 87388, 
    88390, 91428, 91430, 82560, 82565, 
    82569, 82573, 85570, 82562, 82566, 
    82570, 84243, 86361, 86367, 87785, 
    87790, 87796, 88395, 88585, 90266, 
    90273, 91968
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00074

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "63.29"
    },
    "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": 111,
            "rows_produced_per_join": 111,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "11.40",
              "eval_cost": "11.10",
              "prefix_cost": "22.50",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (91863,92227,82402,88146,88589,89589,92210,87786,87874,85554,85577,87792,87798,87880,86366,86368,86806,92373,91900,87873,90317,90319,90320,84244,85645,87388,88390,91428,91430,82560,82565,82569,82573,85570,82562,82566,82570,84243,86361,86367,87785,87790,87796,88395,88585,90266,90273,91968))"
          }
        },
        {
          "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": "27.75",
              "eval_cost": "0.56",
              "prefix_cost": "61.35",
              "data_read_per_join": "14K"
            },
            "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": 5,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.39",
              "eval_cost": "0.56",
              "prefix_cost": "63.29",
              "data_read_per_join": "88"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
82402 7148,7156,7157M 0
82560 7303,7161M
82562 7303,7161M
82565 7303,7161M
82566 7303,7161M
82569 7303,7161M
82570 7303,7161M
82573 7303,7161M
84243 7194M
84244 7194M
85554 7313,7338,7219M
85570 7313,7338,7219M
85577 7341,7342,7343,7157M
85645 7148,7158M 0
86361 7148,7163,7164M 0
86366 7148,7163,7164M 0
86367 7148,7163,7164M 0
86368 7148,7163,7164M 0
86806 7301,7151M
87388 7148,7158,7247M 0
87785 7148,7207M 0
87786 7148,7207M 0
87790 7148,7207M 0
87792 7148,7207M 0
87796 7148,7207M 0
87798 7148,7207M 0
87873 7241,7309,7346,7208M
87874 7241,7309,7346,7208M
87880 7241,7309,7346,7208M
88146 7194M
88390 7263M
88395 7263M
88585 7194M
88589 7194M
89589 7301,7151M
90266 7183,7283,7167M
90273 7183,7283,7167M
90317 7265,7247M
90319 7265,7247M
90320 7265,7247M
91428 7263M
91430 7263M
91863 7156,7157,7148M 0
91900 7226,7225M
91968 7303,7161M
92210 7341,7342,7343,7157M
92227 7341,7342,7343,7157M
92373 7156,7157,7148M 0