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.company_id = 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 = 358 
WHERE 
  cscart_products_categories.product_id IN (
    421, 427, 408, 382, 418, 400, 424, 381, 
    1529, 401, 1465, 428, 415, 391, 406, 
    329, 439, 390, 393, 394, 396, 397, 398, 
    399
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00719

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "175.07"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "16.66"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 115,
            "rows_produced_per_join": 2,
            "filtered": "2.00",
            "cost_info": {
              "read_cost": "27.56",
              "eval_cost": "0.46",
              "prefix_cost": "28.02",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "category_id",
              "company_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`eshopuga_upgr_4122`.`cscart_categories`.`company_id` = 1) and ((`eshopuga_upgr_4122`.`cscart_categories`.`usergroup_ids` = '') or find_in_set(0,`eshopuga_upgr_4122`.`cscart_categories`.`usergroup_ids`) or find_in_set(1,`eshopuga_upgr_4122`.`cscart_categories`.`usergroup_ids`)) and (`eshopuga_upgr_4122`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "eshopuga_upgr_4122.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 40,
            "rows_produced_per_join": 16,
            "filtered": "18.10",
            "index_condition": "(`eshopuga_upgr_4122`.`cscart_products_categories`.`product_id` in (421,427,408,382,418,400,424,381,1529,401,1465,428,415,391,406,329,439,390,393,394,396,397,398,399))",
            "cost_info": {
              "read_cost": "92.00",
              "eval_cost": "3.33",
              "prefix_cost": "138.42",
              "data_read_per_join": "266"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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",
              "eshopuga_upgr_4122.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 16,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "16.66",
              "eval_cost": "3.33",
              "prefix_cost": "158.41",
              "data_read_per_join": "266"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
329 357,369,352,342,339,370,349M,377,371,378,354,351,372,353,356,373,358,374,375,350,338,376,355 0
381 350,338,379,376,361,355,357,345,383,352,386,342,339,370,349,380,384,371,378,362,341,354,381,360,351,344,372,337M,353,356,373,358,347,374,385,363,340,382,343,359,375 0
382 374,385,340,382,343,375,350,338,379,369,376,355,357,345,383,377,352,386,342,339,370,349,384,371,378,341,354,381,351,344,372,337M,353,356,373,358,347 0
390 391,356,358,363,347,392,359,393,340,361,343,394,350,338,395,355,357,396,345,352,342,339,388,362,349,360,368,341,354,351,344,390,337M,353 0
391 341,354,351,344,337M,353,356,358,347,340,343,350,338,355,357,345,352,342,339,349 0
393 349,373,341,354,374,385,351,344,337M,382,353,375,356,379,358,369,347,376,383,377,340,386,343,380,350,338,370,355,384,357,371,345,378,381,352,342,372,339 0
394 381,352,342,372,339,349,373,341,354,374,385,351,344,337M,382,353,375,356,379,358,369,347,376,383,377,340,386,343,380,350,338,370,355,384,357,371,345,378 0
396 355,357,371,345,378,352,342,372,339,349,373,341,354,374,351,344,337M,353,375,356,358,369,347,376,377,340,343,350,338,370 0
397 340,343,350,338,355,357,345,352,342,339,349,341,354,351,344,337M,353,356,358,347 0
398 358,347,390,391,340,343,363,350,392,338,359,393,355,357,361,345,394,352,342,395,339,349,396,389,341,354,388,362,351,344,337M,360,353,368,356 0
399 351,344,337M,353,356,358,347,340,343,350,338,355,357,345,352,342,339,349,341,354 0
400 341,354,351,344,337M,353,356,358,347,340,343,350,338,355,357,345,352,342,339,349 0
401 342,339,349,341,351,344,337M,358,340,343,338,345,352 0
406 362,360,345,368,352,342,339,390,349,354,391,353,363,341,392,359,356,351,344,347,337M,393,361,394,358,395,350,396,340,343,355,357,338,388 0
408 343,355,377,357,338,384,370,381,345,371,352,378,342,339,372,349,354,385,373,353,341,382,356,351,344,374,347,337M,379,375,358,383,369,350,376,386,380,340 0
415 350,340,343,355,357,338,345,352,342,339,349,354,353,341,356,351,344,337M,358 0
418 369,376,358,377,350,340,370,343,355,357,338,371,378,345,372,363,352,342,373,339,349,354,374,353,341,356,375,351,344,337M 0
421 353,341,356,351,344,337M,388,362,360,358,368,350,390,340,343,355,391,357,338,392,359,393,345,363,361,352,394,342,339,395,349,354,396 0
424 339,349,354,353,341,356,351,344,337M,358,350,340,343,355,357,338,347,345,352,342 0
427 345,386,352,375,380,342,339,369,349,354,376,384,353,377,381,341,356,351,344,337M,370,358,371,378,385,350,372,382,340,343,355,357,373,379,338,374,347,383 0
428 338,395,396,347,345,352,342,388,362,339,349,360,354,368,353,341,356,390,351,344,337M,391,358,392,359,350,393,363,361,340,394,343,355,357 0
439 363,361,340,343,355,374,357,383,338,386,375,345,369,376,352,384,342,362,339,377,381,349,360,354,368,370,353,341,351,344,371,337M,378,385,372,358,382,359,350,373,379 0
1465 372,358,382,359,394,350,373,379,395,363,361M,340,380,343,355,374,396,347,357,383,338,386,375,388,345,369,376,352,384,342,362,339,377,381,349,360,354,356,390,368,370,353,391,341,351,344,371,392,337,378,385,393 0
1529 351,344,371,392,337,378,385,393,372,358,359,394,350,373,379,395,363,361,340,380,343,355,374,396,347,357,338,386,375,388,345,369,376,352,384,342,362,339,377,381,349M,360,354,356,390,368,370,353,391,341 0