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 = 7204 
WHERE 
  cscart_products_categories.product_id IN (
    87917, 88036, 87971, 84756, 84757, 84861, 
    84862, 87900, 87901, 87915, 88088, 
    88056, 88057, 88058, 84851, 88037, 
    88059, 88060, 87907, 87940, 88091, 
    88090, 88087, 88086, 94451, 94798, 
    94799, 94800, 94801, 94823, 94824, 
    94827, 94828, 94829, 94830, 94831, 
    95736, 95743, 95744, 95745, 95746, 
    95747, 95748, 95749, 95750, 95751, 
    95752, 95813, 95814, 95815, 95816, 
    95817, 95818, 95833, 95834, 95835, 
    95836, 95837, 95838, 95839, 95840, 
    95841, 95842, 95843, 95844, 95845, 
    95846, 95847, 95848, 95849, 95850, 
    95851, 95852, 95853, 95854, 95855, 
    95856, 95857, 95858, 95859, 95860, 
    95861, 95862, 95863, 95864, 97426, 
    97427, 97428, 97429, 97430, 97431, 
    97432, 97433, 97434, 97435, 97436
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01548

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "105.60"
    },
    "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": 117,
            "rows_produced_per_join": 117,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "12.00",
              "eval_cost": "11.70",
              "prefix_cost": "23.70",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (87917,88036,87971,84756,84757,84861,84862,87900,87901,87915,88088,88056,88057,88058,84851,88037,88059,88060,87907,87940,88091,88090,88087,88086,94451,94798,94799,94800,94801,94823,94824,94827,94828,94829,94830,94831,95736,95743,95744,95745,95746,95747,95748,95749,95750,95751,95752,95813,95814,95815,95816,95817,95818,95833,95834,95835,95836,95837,95838,95839,95840,95841,95842,95843,95844,95845,95846,95847,95848,95849,95850,95851,95852,95853,95854,95855,95856,95857,95858,95859,95860,95861,95862,95863,95864,97426,97427,97428,97429,97430,97431,97432,97433,97434,97435,97436))"
          }
        },
        {
          "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": 117,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "29.25",
              "eval_cost": "11.70",
              "prefix_cost": "64.65",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "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": 5,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "29.25",
              "eval_cost": "0.59",
              "prefix_cost": "105.60",
              "data_read_per_join": "15K"
            },
            "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')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
84756 7206M
84757 7206M
84851 7205M
84861 7205M
84862 7205M
87900 7256M,7262
87901 7256M,7262
87907 7255M
87915 7255M
87917 7255M
87940 7256M,7262
87971 7205M
88036 7256M,7262
88037 7256M,7262
88056 7256M,7262
88057 7256M,7262
88058 7256M,7262
88059 7256M,7262
88060 7256M,7262
88086 7256M,7262
88087 7256M,7262
88088 7256M,7262
88090 7256M,7262
88091 7256M,7262
94451 7205M
94798 7205M
94799 7205M
94800 7206M
94801 7206M
94823 7205M
94824 7205M
94827 7256M,7262
94828 7256M,7262
94829 7256M,7262
94830 7256M,7262
94831 7256M,7262
95736 7256M,7262
95743 7205M
95744 7205M
95745 7205M
95746 7205M
95747 7205M
95748 7205M
95749 7205M
95750 7205M
95751 7206M
95752 7206M
95813 7205M
95814 7205M
95815 7205M
95816 7206M
95817 7206M
95818 7206M
95833 7255M
95834 7255M
95835 7255M
95836 7255M
95837 7255M
95838 7255M
95839 7255M
95840 7255M
95841 7255M
95842 7255M
95843 7255M
95844 7255M
95845 7255M
95846 7255M
95847 7255M
95848 7255M
95849 7255M
95850 7255M
95851 7255M
95852 7255M
95853 7255M
95854 7255M
95855 7255M
95856 7255M
95857 7255M
95858 7255M
95859 7255M
95860 7255M
95861 7255M
95862 7255M
95863 7255M
95864 7255M
97426 7255M
97427 7255M
97428 7255M
97429 7255M
97430 7255M
97431 7255M
97432 7255M
97433 7255M
97434 7255M
97435 7255M
97436 7255M