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 = 7229 
WHERE 
  cscart_products_categories.product_id IN (
    98624, 98651, 98681, 98760, 98761, 99012, 
    99013, 99014, 99015, 99016, 99017, 
    99018, 99019, 99588, 99589, 99590, 
    99591, 99592, 99593, 99594, 99595, 
    99596, 99597, 99598, 99599, 99600, 
    99601, 99602, 99603, 99604, 99605, 
    99606, 99607, 99608, 99609, 99610, 
    99611, 99612, 99613, 99614, 99615, 
    99616, 99617, 99618, 99619, 99620, 
    99621, 99622, 99623, 99624, 99625, 
    99626, 99627, 99628, 99629, 99630, 
    99631, 99632, 99633, 99634, 99635, 
    99636, 99637, 99638, 99639, 99640, 
    99641, 99642, 99643, 99644, 99645, 
    99646, 99647, 99669, 99670, 99671, 
    99672, 99673, 99674, 99675, 99676, 
    99677, 99678, 99679, 99680, 99681, 
    99682, 99697, 99698, 99699, 99700, 
    99701, 99702, 99703, 99706, 99707
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00179

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 (98624,98651,98681,98760,98761,99012,99013,99014,99015,99016,99017,99018,99019,99588,99589,99590,99591,99592,99593,99594,99595,99596,99597,99598,99599,99600,99601,99602,99603,99604,99605,99606,99607,99608,99609,99610,99611,99612,99613,99614,99615,99616,99617,99618,99619,99620,99621,99622,99623,99624,99625,99626,99627,99628,99629,99630,99631,99632,99633,99634,99635,99636,99637,99638,99639,99640,99641,99642,99643,99644,99645,99646,99647,99669,99670,99671,99672,99673,99674,99675,99676,99677,99678,99679,99680,99681,99682,99697,99698,99699,99700,99701,99702,99703,99706,99707))"
          }
        },
        {
          "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
98624 7229M 0
98651 7229M 0
98681 7229M 0
98760 7229M 0
98761 7229M 0
99012 7229M 0
99013 7229M 0
99014 7229M 0
99015 7229M 0
99016 7229M 0
99017 7229M 0
99018 7229M 0
99019 7229M 0
99588 7229M 0
99589 7229M 0
99590 7229M 0
99591 7229M 0
99592 7229M 0
99593 7229M 0
99594 7229M 0
99595 7229M 0
99596 7229M 0
99597 7229M 0
99598 7229M 0
99599 7229M 0
99600 7229M 0
99601 7229M 0
99602 7229M 0
99603 7229M 0
99604 7229M 0
99605 7229M 0
99606 7229M 0
99607 7229M 0
99608 7229M 0
99609 7229M 0
99610 7229M 0
99611 7229M 0
99612 7229M 0
99613 7229M 0
99614 7229M 0
99615 7229M 0
99616 7229M 0
99617 7229M 0
99618 7229M 0
99619 7229M 0
99620 7229M 0
99621 7229M 0
99622 7229M 0
99623 7229M 0
99624 7229M 0
99625 7229M 0
99626 7229M 0
99627 7229M 0
99628 7229M 0
99629 7229M 0
99630 7229M 0
99631 7229M 0
99632 7229M 0
99633 7229M 0
99634 7229M 0
99635 7229M 0
99636 7229M 0
99637 7229M 0
99638 7229M 0
99639 7229M 0
99640 7229M 0
99641 7229M 0
99642 7229M 0
99643 7229M 0
99644 7229M 0
99645 7229M 0
99646 7229M 0
99647 7229M 0
99669 7229M 0
99670 7229M 0
99671 7229M 0
99672 7229M 0
99673 7229M 0
99674 7229M 0
99675 7229M 0
99676 7229M 0
99677 7229M 0
99678 7229M 0
99679 7229M 0
99680 7229M 0
99681 7229M 0
99682 7229M 0
99697 7229M 0
99698 7229M 0
99699 7229M 0
99700 7229M 0
99701 7229M 0
99702 7229M 0
99703 7229M 0
99706 7229M 0
99707 7229M 0