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 = 7222 
WHERE 
  cscart_products_categories.product_id IN (
    99396, 99397, 99398, 100358, 101872, 
    101873, 101874, 101875, 101876, 101877, 
    101878, 101879, 101880, 101881, 101882, 
    101883, 101884, 101885, 101886, 101887, 
    101888, 101889, 101890, 101891, 101892, 
    101893, 101894, 101895, 101896, 101897, 
    101898, 101899, 101900, 101901, 101902, 
    101903, 101904, 101905, 101906, 101907, 
    101908, 101909, 101910, 101911, 101912, 
    101913, 101914, 101915, 101916, 101917, 
    101918, 101919, 101920, 101921, 101922, 
    101923, 101924, 101925, 101926, 101927, 
    101932, 101933, 101934, 101935, 101936, 
    101937, 101938, 101939, 101940, 101941, 
    101942, 101943, 101944, 101945, 101946, 
    101947, 101948, 101949, 101950, 101951
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00227

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "45.69"
    },
    "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": 80,
            "rows_produced_per_join": 80,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "8.29",
              "eval_cost": "8.00",
              "prefix_cost": "16.29",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (99396,99397,99398,100358,101872,101873,101874,101875,101876,101877,101878,101879,101880,101881,101882,101883,101884,101885,101886,101887,101888,101889,101890,101891,101892,101893,101894,101895,101896,101897,101898,101899,101900,101901,101902,101903,101904,101905,101906,101907,101908,101909,101910,101911,101912,101913,101914,101915,101916,101917,101918,101919,101920,101921,101922,101923,101924,101925,101926,101927,101932,101933,101934,101935,101936,101937,101938,101939,101940,101941,101942,101943,101944,101945,101946,101947,101948,101949,101950,101951))"
          }
        },
        {
          "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": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "20.00",
              "eval_cost": "0.40",
              "prefix_cost": "44.29",
              "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": 4,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.00",
              "eval_cost": "0.40",
              "prefix_cost": "45.69",
              "data_read_per_join": "64"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
99396 7222M 0
99397 7222M 0
99398 7222M 0
100358 7222M 0
101872 7222M 0
101873 7222M 0
101874 7222M 0
101875 7222M 0
101876 7222M 0
101877 7222M 0
101878 7222M 0
101879 7222M 0
101880 7222M 0
101881 7222M 0
101882 7222M 0
101883 7222M 0
101884 7222M 0
101885 7222M 0
101886 7222M 0
101887 7222M 0
101888 7222M 0
101889 7222M 0
101890 7222M 0
101891 7222M 0
101892 7222M 0
101893 7222M 0
101894 7222M 0
101895 7222M 0
101896 7222M 0
101897 7222M 0
101898 7222M 0
101899 7222M 0
101900 7222M 0
101901 7222M 0
101902 7222M 0
101903 7222M 0
101904 7222M 0
101905 7222M 0
101906 7222M 0
101907 7222M 0
101908 7222M 0
101909 7222M 0
101910 7222M 0
101911 7222M 0
101912 7222M 0
101913 7222M 0
101914 7222M 0
101915 7222M 0
101916 7222M 0
101917 7222M 0
101918 7222M 0
101919 7222M 0
101920 7222M 0
101921 7222M 0
101922 7222M 0
101923 7222M 0
101924 7222M 0
101925 7222M 0
101926 7222M 0
101927 7222M 0
101932 7222M 0
101933 7222M 0
101934 7222M 0
101935 7222M 0
101936 7222M 0
101937 7222M 0
101938 7222M 0
101939 7222M 0
101940 7222M 0
101941 7222M 0
101942 7222M 0
101943 7222M 0
101944 7222M 0
101945 7222M 0
101946 7222M 0
101947 7222M 0
101948 7222M 0
101949 7222M 0
101950 7222M 0
101951 7222M 0