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 = 7194 
WHERE 
  cscart_products_categories.product_id IN (
    98841, 98842, 98843, 98844, 98845, 98846, 
    98847, 98848, 98849, 98850, 98914, 
    98915, 98916, 98917, 98918, 98919, 
    98920, 98921, 98922, 98923, 98924, 
    98925, 98926, 98927, 98928, 98929, 
    98930, 98931, 98932, 98933, 98934, 
    98935, 98936, 98937, 98938, 98939, 
    98940, 98941, 98942, 98943, 98944, 
    98945, 98946, 98947, 98948, 98949, 
    98950, 98951, 98952, 98953, 98954, 
    98955, 98956, 98957, 98958, 98959, 
    98960, 98961, 98962, 98963, 98964, 
    98965, 98966, 98967, 98968, 98969, 
    98970, 98971, 98972, 98973, 98974, 
    98975, 98976, 98977, 98978, 98979, 
    98980, 98981, 98982, 98983, 98984, 
    98985, 98986, 98987, 98988, 98989, 
    98990, 98991, 98992, 98993, 98994, 
    98995, 98996, 98997, 98998, 98999
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00266

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "54.77"
    },
    "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": 96,
            "rows_produced_per_join": 96,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.89",
              "eval_cost": "9.60",
              "prefix_cost": "19.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (98841,98842,98843,98844,98845,98846,98847,98848,98849,98850,98914,98915,98916,98917,98918,98919,98920,98921,98922,98923,98924,98925,98926,98927,98928,98929,98930,98931,98932,98933,98934,98935,98936,98937,98938,98939,98940,98941,98942,98943,98944,98945,98946,98947,98948,98949,98950,98951,98952,98953,98954,98955,98956,98957,98958,98959,98960,98961,98962,98963,98964,98965,98966,98967,98968,98969,98970,98971,98972,98973,98974,98975,98976,98977,98978,98979,98980,98981,98982,98983,98984,98985,98986,98987,98988,98989,98990,98991,98992,98993,98994,98995,98996,98997,98998,98999))"
          }
        },
        {
          "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": "24.00",
              "eval_cost": "0.48",
              "prefix_cost": "53.09",
              "data_read_per_join": "12K"
            },
            "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.20",
              "eval_cost": "0.48",
              "prefix_cost": "54.77",
              "data_read_per_join": "76"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
98841 7194M 0
98842 7194M 0
98843 7194M 0
98844 7194M 0
98845 7194M 0
98846 7194M 0
98847 7194M 0
98848 7194M 0
98849 7194M 0
98850 7194M 0
98914 7194M 0
98915 7194M 0
98916 7194M 0
98917 7194M 0
98918 7194M 0
98919 7194M 0
98920 7194M 0
98921 7194M 0
98922 7194M 0
98923 7194M 0
98924 7194M 0
98925 7194M 0
98926 7194M 0
98927 7194M 0
98928 7194M 0
98929 7194M 0
98930 7194M 0
98931 7194M 0
98932 7194M 0
98933 7194M 0
98934 7194M 0
98935 7194M 0
98936 7194M 0
98937 7194M 0
98938 7194M 0
98939 7194M 0
98940 7194M 0
98941 7194M 0
98942 7194M 0
98943 7194M 0
98944 7194M 0
98945 7194M 0
98946 7194M 0
98947 7194M 0
98948 7194M 0
98949 7194M 0
98950 7194M 0
98951 7194M 0
98952 7194M 0
98953 7194M 0
98954 7194M 0
98955 7194M 0
98956 7194M 0
98957 7194M 0
98958 7194M 0
98959 7194M 0
98960 7194M 0
98961 7194M 0
98962 7194M 0
98963 7194M 0
98964 7194M 0
98965 7194M 0
98966 7194M 0
98967 7194M 0
98968 7194M 0
98969 7194M 0
98970 7194M 0
98971 7194M 0
98972 7194M 0
98973 7194M 0
98974 7194M 0
98975 7194M 0
98976 7194M 0
98977 7194M 0
98978 7194M 0
98979 7194M 0
98980 7194M 0
98981 7194M 0
98982 7194M 0
98983 7194M 0
98984 7194M 0
98985 7194M 0
98986 7194M 0
98987 7194M 0
98988 7194M 0
98989 7194M 0
98990 7194M 0
98991 7194M 0
98992 7194M 0
98993 7194M 0
98994 7194M 0
98995 7194M 0
98996 7194M 0
98997 7194M 0
98998 7194M 0
98999 7194M 0