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 = 360 
WHERE 
  cscart_products_categories.product_id IN (
    434, 383, 435, 419, 403, 324, 1965, 440, 
    1966, 431, 1973, 1968, 1963, 327, 1934, 
    385, 405, 413, 1970, 1937, 433, 414, 
    407, 402
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01045

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "172.24"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "15.37"
      },
      "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": 15,
            "filtered": "16.71",
            "index_condition": "(`eshopuga_upgr_4122`.`cscart_products_categories`.`product_id` in (434,383,435,419,403,324,1965,440,1966,431,1973,1968,1963,327,1934,385,405,413,1970,1937,433,414,407,402))",
            "cost_info": {
              "read_cost": "92.00",
              "eval_cost": "3.07",
              "prefix_cost": "138.42",
              "data_read_per_join": "245"
            },
            "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": 15,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "15.37",
              "eval_cost": "3.07",
              "prefix_cost": "156.87",
              "data_read_per_join": "245"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
324 355,361,359,340,356,392,351,353,349,360,352,357,396,358,391,395,338M,368,363,350,394,388,390,362,354,393 0
327 373,362,354,370,376,383,355,361,359,375,381,356,372,369,382,351,353,349M,360,352,357,374,380,358,378,379,363,371,384,350,386,377,385 0
383 350,341,386,377,385,373,362,354,370,376,340,339,355,347,361,359,344,375,345,381,337M,356,372,351,343,353,349,360,352,342,338,357,374,368,358,378,363,371,384 0
385 363,371,393,350,341,377,373,362,354,370,376,392,340,339,355,347,369,361,359,396,344,375,345,391,337M,356,372,395,351,343,353,349,360,394,352,342,338,357,374,368,358,388,378,390 0
402 353,349,360,394,352,342,338,357,368,358,388,390,363,393,350,341,362,354,392,340,339,355,347,361,359,396,344,345,391,337M,356,395,351,343 0
403 395,360,394,368,388,363,393,362,392,361,359M 0
405 345,391,337M,356,361,359,374,351,343,378,353,349,352,342,395,338,357,358,371,390,360,394,377,368,388,350,341,373,370,363,376,393,354,369,362,340,375,339,355,347,372,392,396,344 0
407 339,355,347,392,396,344,384,345,386,391,337M,356,361,359,385,351,343,353,349,352,342,383,395,338,357,358,390,360,394,368,382,388,350,341,381,363,380,393,354,379,362,340 0
413 372,362,340,339,355,374,344,378,345,337M,356,361,359,351,343,371,353,349,352,342,338,357,377,358,360,373,370,368,376,350,341,363,369,354,375 0
414 363,369,354,375,372,362,340,339,355,374,344,378,345,337M,356,361,359,351,343,371,353,349,352,342,338,357,377,358,360,373,370,368,376,350,341 0
419 368,350,341,363,392,396,354,391,362,340,339,355,395,344,390,345,394,337M,356,389,361,359,388,351,343,353,349,352,342,338,357,358,393,360 0
431 338,357,358,393,360,368,350,341,363,392,396,354,391,362,339,355,395,344,390,345,394,337M,356,361,359,388,351,343,353,349,352,342 0
433 361,359M,360,368,363,362 0
434 379,351,343,353,349,352,342,361,338,359,357,347,358,384,386,385,350,341,360,368,383,340,354,363,382,339,355,381,362,344,380,345,337M,356 0
435 381,388,362,380,379,351,393,349M,352,361,359,384,386,392,385,396,360,368,391,383,363,395,382,390,394 0
440 370,376,390,394,369,388,362,375,372,393,361,359M,374,392,396,360,371,368,391,377,373,363,395 0
1934 377,344,345,373,363,337,356,395,370,381,390,394,342,338,358,369,379,362,349,352,372,350,384,361M,359,374,340,354,396,360,339,355,391 0
1937 396,360,382,339,355,391,377,376,344,343,380,353,345,373,363,337,356,395,357,370,381,347,388,351,390,394,342,375,338,358,369,379,362,393,341,349,352,378,386,372,385,350,384,361M,359,392,374,340,354,371,368 0
1963 340,360,339,377,363,337,370,381,388,338,369,379,362,349,352,378,350,361M,359 0
1965 361M,359,368,340,360,339,377,363,337,370,381,338,369,379,362,349,352 0
1966 362,349,352,361M,359,368,340,360,339,377,363,337,370,381,338,369,379 0
1968 350,338,369,379,362,349,352,361M,359,340,360,339,363,337,370,381 0
1970 363,337,370,381,350,338,369,379,362,349,352,368,361M,359,340,377,360,339 0
1973 339,363,337,370,381,338,369,379,362,349,352,368,361M,359,340,377,360 0