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 (
    98793, 98794, 98795, 98796, 98797, 98798, 
    98799, 98800, 98801, 98802, 98803, 
    98804, 98805, 98806, 98807, 98808, 
    98809, 98810, 98811, 98812, 98813, 
    98814, 98831, 98832, 98833, 98834, 
    98835, 98836, 98837, 98838, 98839, 
    98840, 98841, 98842, 98843, 98844, 
    98845, 98846, 98847, 98848, 98849, 
    98850, 98851, 98852, 98853, 98854, 
    98855, 98856, 98857, 98858, 98874, 
    98875, 98876, 98877, 98897, 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
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00264

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "100.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": 177,
            "rows_produced_per_join": 177,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "18.02",
              "eval_cost": "17.70",
              "prefix_cost": "35.72",
              "data_read_per_join": "2K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (98793,98794,98795,98796,98797,98798,98799,98800,98801,98802,98803,98804,98805,98806,98807,98808,98809,98810,98811,98812,98813,98814,98831,98832,98833,98834,98835,98836,98837,98838,98839,98840,98841,98842,98843,98844,98845,98846,98847,98848,98849,98850,98851,98852,98853,98854,98855,98856,98857,98858,98874,98875,98876,98877,98897,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))"
          }
        },
        {
          "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": 8,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "44.25",
              "eval_cost": "0.89",
              "prefix_cost": "97.67",
              "data_read_per_join": "23K"
            },
            "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": 8,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "2.21",
              "eval_cost": "0.89",
              "prefix_cost": "100.77",
              "data_read_per_join": "141"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
98793 7241,7309,7346,7208M
98794 7241,7309,7346,7208M
98795 7241,7309,7346,7208M
98796 7241,7309,7346,7208M
98797 7241,7309,7346,7208M
98798 7241,7309,7346,7208M
98799 7241,7309,7346,7208M
98800 7241,7309,7346,7208M
98801 7241,7309,7346,7208M
98802 7241,7309,7346,7208M
98803 7241,7309,7346,7208M
98804 7241,7309,7346,7208M
98805 7241,7309,7346,7208M
98806 7241,7309,7346,7208M
98807 7241,7309,7346,7208M
98808 7241,7309,7346,7208M
98809 7241,7309,7346,7208M
98810 7241,7309,7346,7208M
98811 7241,7309,7346,7208M
98812 7241,7309,7346,7208M
98813 7241,7309,7346,7208M
98814 7241,7309,7346,7208M
98831 7194M
98832 7194M
98833 7194M
98834 7194M
98835 7194M
98836 7194M
98837 7194M
98838 7194M
98839 7194M
98840 7194M
98841 7194M
98842 7194M
98843 7194M
98844 7194M
98845 7194M
98846 7194M
98847 7194M
98848 7194M
98849 7194M
98850 7194M
98851 7263M
98852 7263M
98853 7263M
98854 7263M
98855 7263M
98856 7263M
98857 7263M
98858 7263M
98874 7241,7309,7346,7208M
98875 7241,7309,7346,7208M
98876 7241,7309,7346,7208M
98877 7241,7309,7346,7208M
98897 7341,7342,7343,7157M
98914 7194M
98915 7194M
98916 7194M
98917 7194M
98918 7194M
98919 7194M
98920 7194M
98921 7194M
98922 7194M
98923 7194M
98924 7194M
98925 7194M
98926 7194M
98927 7194M
98928 7194M
98929 7194M
98930 7194M
98931 7194M
98932 7194M
98933 7194M
98934 7194M
98935 7194M
98936 7194M
98937 7194M
98938 7194M
98939 7194M
98940 7194M
98941 7194M
98942 7194M
98943 7194M
98944 7194M
98945 7194M
98946 7194M
98947 7194M
98948 7194M
98949 7194M
98950 7194M
98951 7194M
98952 7194M
98953 7194M
98954 7194M