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 = 7148 
WHERE 
  cscart_products_categories.product_id IN (
    97688, 97689, 97690, 97691, 97692, 97693, 
    97694, 97695, 97696, 97707, 97708, 
    97709, 97710, 97711, 97712, 97728, 
    97729, 97730, 97731, 97732, 97733, 
    97734, 97735, 97736, 97737, 97738, 
    97739, 97740, 97741, 97742, 97743, 
    97744, 97745, 97746, 97747, 97748, 
    97749, 97750, 97751, 97752, 97753, 
    97754, 97755, 97756, 97757, 97758, 
    97759, 97760, 97761, 97762, 97763, 
    97764, 97778, 97779, 97780, 97781, 
    97782, 97790, 97791, 97792, 97793, 
    97794, 97795, 97796, 97797, 97798, 
    97818, 97819, 97820, 97821, 97822, 
    97823, 97824, 97825, 97826, 97831, 
    97832, 97874, 97875, 97876, 97877, 
    97878, 97879, 97880, 97881, 97882, 
    97883, 97884, 97885, 97886, 97887, 
    97888, 97889, 97959, 98001, 98002
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00115

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "112.13"
    },
    "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": 197,
            "rows_produced_per_join": 197,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "20.03",
              "eval_cost": "19.70",
              "prefix_cost": "39.73",
              "data_read_per_join": "3K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (97688,97689,97690,97691,97692,97693,97694,97695,97696,97707,97708,97709,97710,97711,97712,97728,97729,97730,97731,97732,97733,97734,97735,97736,97737,97738,97739,97740,97741,97742,97743,97744,97745,97746,97747,97748,97749,97750,97751,97752,97753,97754,97755,97756,97757,97758,97759,97760,97761,97762,97763,97764,97778,97779,97780,97781,97782,97790,97791,97792,97793,97794,97795,97796,97797,97798,97818,97819,97820,97821,97822,97823,97824,97825,97826,97831,97832,97874,97875,97876,97877,97878,97879,97880,97881,97882,97883,97884,97885,97886,97887,97888,97889,97959,98001,98002))"
          }
        },
        {
          "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": 9,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "49.25",
              "eval_cost": "0.99",
              "prefix_cost": "108.68",
              "data_read_per_join": "25K"
            },
            "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": 9,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "2.46",
              "eval_cost": "0.99",
              "prefix_cost": "112.13",
              "data_read_per_join": "157"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
97688 7241,7309,7346,7208M
97689 7241,7309,7346,7208M
97690 7241,7309,7346,7208M
97691 7241,7309,7346,7208M
97692 7241,7309,7346,7208M
97693 7241,7309,7346,7208M
97694 7241,7309,7346,7208M
97695 7241,7309,7346,7208M
97696 7241,7309,7346,7208M
97707 7241,7309,7346,7208M
97708 7241,7309,7346,7208M
97709 7241,7309,7346,7208M
97710 7241,7309,7346,7208M
97711 7241,7309,7346,7208M
97712 7241,7309,7346,7208M
97728 7194M
97729 7194M
97730 7194M
97731 7194M
97732 7194M
97733 7194M
97734 7194M
97735 7194M
97736 7194M
97737 7194M
97738 7194M
97739 7194M
97740 7194M
97741 7194M
97742 7194M
97743 7263M
97744 7263M
97745 7263M
97746 7263M
97747 7263M
97748 7263M
97749 7263M
97750 7263M
97751 7263M
97752 7263M
97753 7263M
97754 7263M
97755 7263M
97756 7263M
97757 7263M
97758 7263M
97759 7263M
97760 7263M
97761 7263M
97762 7263M
97763 7263M
97764 7263M
97778 7194M
97779 7194M
97780 7194M
97781 7194M
97782 7194M
97790 7194M
97791 7194M
97792 7194M
97793 7194M
97794 7194M
97795 7263M
97796 7263M
97797 7263M
97798 7263M
97818 7305,7160M
97819 7305,7160M
97820 7301,7151M
97821 7301,7151M
97822 7305,7160M
97823 7305,7160M
97824 7305,7160M
97825 7305,7160M
97826 7305,7160M
97831 7303,7161M
97832 7303,7161M
97874 7313,7338,7219M
97875 7341,7342,7343,7157M
97876 7341,7342,7343,7157M
97877 7341,7342,7343,7157M
97878 7341,7342,7343,7157M
97879 7341,7342,7343,7157M
97880 7341,7342,7343,7157M
97881 7341,7342,7343,7157M
97882 7341,7342,7343,7157M
97883 7313,7338,7219M
97884 7313,7338,7219M
97885 7313,7338,7219M
97886 7341,7342,7343,7157M
97887 7313,7338,7219M
97888 7341,7342,7343,7157M
97889 7313,7338,7219M
97959 7162M
98001 7341,7342,7343,7157M
98002 7194M