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 = 7165 
WHERE 
  cscart_products_categories.product_id IN (
    100442, 100443, 100444, 100445, 100446, 
    100447, 100448, 100449, 100450, 100451, 
    100452, 100453, 100454, 100455, 100456, 
    100457, 100458, 100459, 100460, 100461, 
    100462, 100463, 100464, 100465, 100466, 
    100467, 100468, 100469, 100470, 100471, 
    100472, 100473, 100474, 100475, 100476, 
    100923, 100924, 100925, 100926, 100927, 
    100928, 100929, 100930, 100931, 100932, 
    100933, 100934, 100935, 100936, 100937, 
    100938, 100939, 100940, 100941, 100942, 
    100943, 100944, 100945, 100946, 100947, 
    100948, 100949, 100950, 100951, 100952, 
    100953, 100954, 100955, 100956, 100957, 
    100958, 100959, 100960, 100961, 100962, 
    100963, 100964, 100965, 100966, 100967, 
    100968, 100969, 100970, 100971, 100972, 
    100973, 100974, 100975, 100976, 100977, 
    100978, 100979, 100980, 100981, 100982, 
    100983
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01592

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "130.25"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "6.30"
      },
      "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": 6,
            "filtered": "0.64",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.63",
              "prefix_cost": "121.75",
              "data_read_per_join": "100"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (100442,100443,100444,100445,100446,100447,100448,100449,100450,100451,100452,100453,100454,100455,100456,100457,100458,100459,100460,100461,100462,100463,100464,100465,100466,100467,100468,100469,100470,100471,100472,100473,100474,100475,100476,100923,100924,100925,100926,100927,100928,100929,100930,100931,100932,100933,100934,100935,100936,100937,100938,100939,100940,100941,100942,100943,100944,100945,100946,100947,100948,100949,100950,100951,100952,100953,100954,100955,100956,100957,100958,100959,100960,100961,100962,100963,100964,100965,100966,100967,100968,100969,100970,100971,100972,100973,100974,100975,100976,100977,100978,100979,100980,100981,100982,100983))"
          }
        },
        {
          "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": 6,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.57",
              "eval_cost": "0.63",
              "prefix_cost": "123.95",
              "data_read_per_join": "100"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
100442 7177M
100443 7177M
100444 7177M
100445 7176M
100446 7176M
100447 7176M
100448 7179M
100449 7179M
100450 7174M
100451 7174M
100452 7174M
100453 7174M
100454 7174M
100455 7174M
100456 7174M
100457 7174M
100458 7173M
100459 7173M
100460 7173M
100461 7176M
100462 7176M
100463 7176M
100464 7174M
100465 7174M
100466 7176M
100467 7174M
100468 7174M
100469 7176M
100470 7174M
100471 7174M
100472 7173M
100473 7173M
100474 7173M
100475 7176M
100476 7176M
100923 7193M,7319
100924 7193M,7319
100925 7193M,7319
100926 7193M,7319
100927 7193M,7319
100928 7168M
100929 7168M
100930 7193M,7319
100931 7193M,7319
100932 7193M,7319
100933 7193M,7319
100934 7193M,7319
100935 7193M,7319
100936 7193M,7319
100937 7193M,7319
100938 7193M,7319
100939 7193M,7319
100940 7193M,7319
100941 7193M,7319
100942 7193M,7319
100943 7193M,7319
100944 7168M
100945 7168M
100946 7193M,7319
100947 7193M,7319
100948 7168M
100949 7193M,7319
100950 7193M,7319
100951 7193M,7319
100952 7193M,7319
100953 7193M,7319
100954 7193M,7319
100955 7193M,7319
100956 7193M,7319
100957 7193M,7319
100958 7193M,7319
100959 7193M,7319
100960 7193M,7319
100961 7193M,7319
100962 7193M,7319
100963 7193M,7319
100964 7193M,7319
100965 7193M,7319
100966 7193M,7319
100967 7193M,7319
100968 7193M,7319
100969 7193M,7319
100970 7193M,7319
100971 7167M,7183,7283
100972 7167M,7183,7283
100973 7167M,7183,7283
100974 7167M,7183,7283
100975 7167M,7183,7283
100976 7167M,7183,7283
100977 7167M,7183,7283
100978 7167M,7183,7283
100979 7225M,7226
100980 7225M,7226
100981 7225M,7226
100982 7167M,7183,7283
100983 7167M,7183,7283