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 = 7254 
WHERE 
  cscart_products_categories.product_id IN (
    99296, 99297, 99298, 99299, 99300, 99301, 
    99302, 99303, 99304, 99305, 99306, 
    99307, 99308, 99309, 99310, 99311, 
    99312, 100400, 100401, 100402, 100403, 
    100404, 100405, 100406, 100407, 100408, 
    100409, 100410, 100411, 100412, 100417, 
    100418, 100419, 100420, 100421, 100422, 
    100423, 100424, 100425, 100426, 100427, 
    101055, 101056, 101057, 101058, 101059, 
    101060, 101061, 101062, 101063, 101064, 
    101065, 101066, 101067, 101068, 101069, 
    101070, 101071, 101072, 101073, 101074, 
    101075, 101076, 101077, 101078, 101079, 
    101080, 101081, 101082, 101083, 101084, 
    101085, 101086, 101087, 101088, 101089, 
    101090, 101091, 101092
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00210

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "45.12"
    },
    "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": 79,
            "rows_produced_per_join": 79,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "8.19",
              "eval_cost": "7.90",
              "prefix_cost": "16.09",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (99296,99297,99298,99299,99300,99301,99302,99303,99304,99305,99306,99307,99308,99309,99310,99311,99312,100400,100401,100402,100403,100404,100405,100406,100407,100408,100409,100410,100411,100412,100417,100418,100419,100420,100421,100422,100423,100424,100425,100426,100427,101055,101056,101057,101058,101059,101060,101061,101062,101063,101064,101065,101066,101067,101068,101069,101070,101071,101072,101073,101074,101075,101076,101077,101078,101079,101080,101081,101082,101083,101084,101085,101086,101087,101088,101089,101090,101091,101092))"
          }
        },
        {
          "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": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "19.75",
              "eval_cost": "0.40",
              "prefix_cost": "43.74",
              "data_read_per_join": "10K"
            },
            "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": 3,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.99",
              "eval_cost": "0.40",
              "prefix_cost": "45.12",
              "data_read_per_join": "63"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
99296 7254M 0
99297 7254M 0
99298 7254M 0
99299 7254M 0
99300 7254M 0
99301 7254M 0
99302 7254M 0
99303 7254M 0
99304 7254M 0
99305 7254M 0
99306 7254M 0
99307 7254M 0
99308 7254M 0
99309 7254M 0
99310 7254M 0
99311 7254M 0
99312 7254M 0
100400 7254M 0
100401 7254M 0
100402 7254M 0
100403 7254M 0
100404 7254M 0
100405 7254M 0
100406 7254M 0
100407 7254M 0
100408 7254M 0
100409 7254M 0
100410 7254M 0
100411 7254M 0
100412 7254M 0
100417 7254M 0
100418 7254M 0
100419 7254M 0
100420 7254M 0
100421 7254M 0
100422 7254M 0
100423 7254M 0
100424 7254M 0
100425 7254M 0
100426 7254M 0
100427 7254M 0
101055 7254M 0
101056 7254M 0
101057 7254M 0
101058 7254M 0
101059 7254M 0
101060 7254M 0
101061 7254M 0
101062 7254M 0
101063 7254M 0
101064 7254M 0
101065 7254M 0
101066 7254M 0
101067 7254M 0
101068 7254M 0
101069 7254M 0
101070 7254M 0
101071 7254M 0
101072 7254M 0
101073 7254M 0
101074 7254M 0
101075 7254M 0
101076 7254M 0
101077 7254M 0
101078 7254M 0
101079 7254M 0
101080 7254M 0
101081 7254M 0
101082 7254M 0
101083 7254M 0
101084 7254M 0
101085 7254M 0
101086 7254M 0
101087 7254M 0
101088 7254M 0
101089 7254M 0
101090 7254M 0
101091 7254M 0
101092 7254M 0