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 = 7284 
WHERE 
  cscart_products_categories.product_id IN (
    90714, 90720, 90713, 90719, 90728, 90729, 
    90717, 90723, 90725, 90727, 90712, 
    90718, 90586, 90587, 90730, 90731, 
    90724, 90726, 90716, 90722, 90592, 
    90593, 89243, 89244, 89253, 89254, 
    90588, 90590, 89245, 89246, 89247, 
    89248, 90589, 90591, 90715, 90721, 
    89249, 89250, 89251, 89252, 90048, 
    90049, 90050, 90051, 90052, 90053, 
    90018, 90019, 90020, 90021, 90032, 
    90033, 90034, 90035, 90036, 90037, 
    90042, 90043, 90044, 90045, 90046, 
    90047, 90058, 90059, 90014, 90015, 
    90016, 90017, 90026, 90027, 90028, 
    90029, 90030, 90031, 87836, 93834, 
    93835, 93882, 93883, 93884, 93885, 
    95360, 96122, 96124, 96125, 96126, 
    96127, 96131, 96155, 96156, 96195, 
    96196, 96197, 96198, 96199, 96200
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01653

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "129.57"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "5.79"
      },
      "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.59",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.58",
              "prefix_cost": "121.75",
              "data_read_per_join": "92"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (90714,90720,90713,90719,90728,90729,90717,90723,90725,90727,90712,90718,90586,90587,90730,90731,90724,90726,90716,90722,90592,90593,89243,89244,89253,89254,90588,90590,89245,89246,89247,89248,90589,90591,90715,90721,89249,89250,89251,89252,90048,90049,90050,90051,90052,90053,90018,90019,90020,90021,90032,90033,90034,90035,90036,90037,90042,90043,90044,90045,90046,90047,90058,90059,90014,90015,90016,90017,90026,90027,90028,90029,90030,90031,87836,93834,93835,93882,93883,93884,93885,95360,96122,96124,96125,96126,96127,96131,96155,96156,96195,96196,96197,96198,96199,96200))"
          }
        },
        {
          "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.45",
              "eval_cost": "0.58",
              "prefix_cost": "123.78",
              "data_read_per_join": "92"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
87836 7285M,7330
89243 7285M,7330
89244 7285M,7330
89245 7286M
89246 7286M
89247 7286M
89248 7286M
89249 7287M
89250 7287M
89251 7287M
89252 7287M
89253 7285M,7330
89254 7285M,7330
90014 7286M
90015 7286M
90016 7286M
90017 7286M
90018 7286M
90019 7286M
90020 7286M
90021 7286M
90026 7286M
90027 7287M
90028 7287M
90029 7287M
90030 7287M
90031 7287M
90032 7287M
90033 7287M
90034 7287M
90035 7287M
90036 7287M
90037 7287M
90042 7285M,7330
90043 7285M,7330
90044 7285M,7330
90045 7285M,7330
90046 7285M,7330
90047 7285M,7330
90048 7285M,7330
90049 7285M,7330
90050 7285M,7330
90051 7285M,7330
90052 7285M,7330
90053 7285M,7330
90058 7285M,7330
90059 7285M,7330
90586 7286M
90587 7286M
90588 7287M
90589 7287M
90590 7287M
90591 7287M
90592 7287M
90593 7287M
90712 7285M,7330
90713 7285M,7330
90714 7285M,7330
90715 7285M,7330
90716 7285M,7330
90717 7285M,7330
90718 7285M,7330
90719 7285M,7330
90720 7285M,7330
90721 7285M,7330
90722 7285M,7330
90723 7285M,7330
90724 7285M,7330
90725 7285M,7330
90726 7285M,7330
90727 7285M,7330
90728 7285M,7330
90729 7285M,7330
90730 7285M,7330
90731 7285M,7330
93834 7285M,7330
93835 7285M,7330
93882 7285M,7330
93883 7285M,7330
93884 7285M,7330
93885 7285M,7330
95360 7287M
96122 7285M,7330
96124 7285M,7330
96125 7285M,7330
96126 7285M,7330
96127 7285M,7330
96131 7285M,7330
96155 7285M,7330
96156 7285M,7330
96195 7287M
96196 7287M
96197 7287M
96198 7287M
96199 7287M
96200 7287M