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 = 7225 
WHERE 
  cscart_products_categories.product_id IN (
    98197, 98198, 98199, 98208, 98209, 98210, 
    98211, 98212, 98213, 98214, 98215, 
    98216, 98217, 98218, 98219, 98220, 
    98221, 98222, 98223, 98322, 98323, 
    98538, 98539, 98540, 98541, 98542, 
    98543, 98544, 98545, 98546, 98547, 
    98548, 98549, 98563, 98564, 98565, 
    98566, 98567, 98568, 98569, 99519, 
    99520, 99521, 99522, 99523, 99524, 
    99525, 99526, 99527, 100971, 100972, 
    100973, 100974, 100975, 100976, 100977, 
    100978, 100979, 100980, 100981, 100982, 
    100983, 100984, 100988, 101102, 101103, 
    101104, 101628, 101629, 101630, 101631, 
    101632, 101633, 101678, 101679, 101680, 
    101681, 101740, 101741, 101742, 101743, 
    101854, 101855, 101856, 101857, 101858, 
    101859, 101860, 101861, 101862, 101863, 
    101864, 101865, 101866, 101867, 101868
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00120

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "141.09"
    },
    "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": 248,
            "rows_produced_per_join": 248,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "25.15",
              "eval_cost": "24.80",
              "prefix_cost": "49.95",
              "data_read_per_join": "3K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (98197,98198,98199,98208,98209,98210,98211,98212,98213,98214,98215,98216,98217,98218,98219,98220,98221,98222,98223,98322,98323,98538,98539,98540,98541,98542,98543,98544,98545,98546,98547,98548,98549,98563,98564,98565,98566,98567,98568,98569,99519,99520,99521,99522,99523,99524,99525,99526,99527,100971,100972,100973,100974,100975,100976,100977,100978,100979,100980,100981,100982,100983,100984,100988,101102,101103,101104,101628,101629,101630,101631,101632,101633,101678,101679,101680,101681,101740,101741,101742,101743,101854,101855,101856,101857,101858,101859,101860,101861,101862,101863,101864,101865,101866,101867,101868))"
          }
        },
        {
          "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": 12,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "62.00",
              "eval_cost": "1.24",
              "prefix_cost": "136.75",
              "data_read_per_join": "32K"
            },
            "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": 12,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "3.10",
              "eval_cost": "1.24",
              "prefix_cost": "141.09",
              "data_read_per_join": "198"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
98197 7226,7225M 0
98198 7226,7225M 0
98199 7226,7225M 0
98208 7226,7225M 0
98209 7226,7225M 0
98210 7226,7225M 0
98211 7226,7225M 0
98212 7226,7225M 0
98213 7226,7225M 0
98214 7226,7225M 0
98215 7226,7225M 0
98216 7226,7225M 0
98217 7226,7225M 0
98218 7226,7225M 0
98219 7226,7225M 0
98220 7226,7225M 0
98221 7226,7225M 0
98222 7226,7225M 0
98223 7226,7225M 0
98322 7226,7225M 0
98323 7226,7225M 0
98538 7183,7283,7167M
98539 7183,7283,7167M
98540 7183,7283,7167M
98541 7183,7283,7167M
98542 7183,7283,7167M
98543 7183,7283,7167M
98544 7183,7283,7167M
98545 7183,7283,7167M
98546 7183,7283,7167M
98547 7183,7283,7167M
98548 7183,7283,7167M
98549 7183,7283,7167M
98563 7226,7225M 0
98564 7226,7225M 0
98565 7226,7225M 0
98566 7226,7225M 0
98567 7226,7225M 0
98568 7226,7225M 0
98569 7226,7225M 0
99519 7226,7225M 0
99520 7226,7225M 0
99521 7226,7225M 0
99522 7226,7225M 0
99523 7226,7225M 0
99524 7226,7225M 0
99525 7226,7225M 0
99526 7226,7225M 0
99527 7226,7225M 0
100971 7183,7283,7167M
100972 7183,7283,7167M
100973 7183,7283,7167M
100974 7183,7283,7167M
100975 7183,7283,7167M
100976 7183,7283,7167M
100977 7183,7283,7167M
100978 7183,7283,7167M
100979 7226,7225M 0
100980 7226,7225M 0
100981 7226,7225M 0
100982 7183,7283,7167M
100983 7183,7283,7167M
100984 7183,7283,7167M
100988 7183,7283,7167M
101102 7183,7283,7167M
101103 7183,7283,7167M
101104 7183,7283,7167M
101628 7183,7283,7167M
101629 7183,7283,7167M
101630 7183,7283,7167M
101631 7183,7283,7167M
101632 7183,7283,7167M
101633 7183,7283,7167M
101678 7183,7283,7167M
101679 7183,7283,7167M
101680 7183,7283,7167M
101681 7183,7283,7167M
101740 7183,7283,7167M
101741 7183,7283,7167M
101742 7183,7283,7167M
101743 7183,7283,7167M
101854 7183,7283,7167M
101855 7183,7283,7167M
101856 7183,7283,7167M
101857 7183,7283,7167M
101858 7183,7283,7167M
101859 7183,7283,7167M
101860 7183,7283,7167M
101861 7183,7283,7167M
101862 7183,7283,7167M
101863 7183,7283,7167M
101864 7183,7283,7167M
101865 7183,7283,7167M
101866 7183,7283,7167M
101867 7183,7283,7167M
101868 7183,7283,7167M