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 = 7324 
WHERE 
  cscart_products_categories.product_id IN (
    89323, 89322, 89325, 86816, 89306, 89324, 
    89366, 89305, 89317, 89307, 89319, 
    89326, 89312, 89345, 89318, 89347, 
    89346, 89255, 89348, 89261, 89314, 
    89320, 89260, 89315, 89256, 89313, 
    89316, 89310, 89311, 89304, 89303, 
    89259, 89258, 93071, 93072, 93073, 
    93074, 93075, 93076, 93077, 93515, 
    93516, 93517, 93518, 93519, 93520, 
    93521, 93522, 93894, 93895, 94067, 
    94068, 94069, 94070, 94071, 94072, 
    94703, 94704, 96296, 96297, 96732, 
    96733, 96744, 96745, 96773, 96774, 
    97827, 97828, 98138, 98139, 98140, 
    98141, 98142, 98143, 98144, 98695, 
    98696, 98702, 98703, 98704, 98705, 
    98706, 98707, 98708, 98709, 98710, 
    98711, 98712, 98713, 98714, 98715, 
    100599, 100600, 100659, 100660, 100661
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.02277

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "128.89"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "5.29"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 208,
            "rows_produced_per_join": 8,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "20.72",
              "eval_cost": "0.83",
              "prefix_cost": "21.55",
              "data_read_per_join": "21K"
            },
            "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": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 117,
            "rows_produced_per_join": 5,
            "filtered": "0.54",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.53",
              "prefix_cost": "121.75",
              "data_read_per_join": "84"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (89323,89322,89325,86816,89306,89324,89366,89305,89317,89307,89319,89326,89312,89345,89318,89347,89346,89255,89348,89261,89314,89320,89260,89315,89256,89313,89316,89310,89311,89304,89303,89259,89258,93071,93072,93073,93074,93075,93076,93077,93515,93516,93517,93518,93519,93520,93521,93522,93894,93895,94067,94068,94069,94070,94071,94072,94703,94704,96296,96297,96732,96733,96744,96745,96773,96774,97827,97828,98138,98139,98140,98141,98142,98143,98144,98695,98696,98702,98703,98704,98705,98706,98707,98708,98709,98710,98711,98712,98713,98714,98715,100599,100600,100659,100660,100661))"
          }
        },
        {
          "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": 5,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.32",
              "eval_cost": "0.53",
              "prefix_cost": "123.60",
              "data_read_per_join": "84"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
86816 7326M
89255 7143,7153,7154M,7324,7325 0
89256 7143,7153,7154M,7324,7325 0
89258 7143,7153,7154M,7324,7325 0
89259 7143,7153,7154M,7324,7325 0
89260 7143,7153,7154M,7324,7325 0
89261 7143,7153,7154M,7324,7325 0
89303 7326M
89304 7326M
89305 7326M
89306 7326M
89307 7326M
89310 7326M
89311 7326M
89312 7326M
89313 7326M
89314 7326M
89315 7326M
89316 7326M
89317 7326M
89318 7326M
89319 7326M
89320 7326M
89322 7326M
89323 7326M
89324 7326M
89325 7326M
89326 7326M
89345 7143,7153,7154M,7324,7325 0
89346 7143,7153,7154M,7324,7325 0
89347 7143,7153,7154M,7324,7325 0
89348 7143,7153,7154M,7324,7325 0
89366 7326M
93071 7326M
93072 7326M
93073 7326M
93074 7326M
93075 7326M
93076 7326M
93077 7326M
93515 7326M
93516 7326M
93517 7326M
93518 7326M
93519 7326M
93520 7326M
93521 7326M
93522 7326M
93894 7326M
93895 7326M
94067 7326M
94068 7326M
94069 7326M
94070 7326M
94071 7326M
94072 7326M
94703 7326M
94704 7326M
96296 7326M
96297 7326M
96732 7326M
96733 7326M
96744 7326M
96745 7326M
96773 7326M
96774 7326M
97827 7326M
97828 7326M
98138 7326M
98139 7326M
98140 7326M
98141 7326M
98142 7326M
98143 7326M
98144 7326M
98695 7326M
98696 7326M
98702 7326M
98703 7326M
98704 7326M
98705 7326M
98706 7326M
98707 7326M
98708 7326M
98709 7326M
98710 7326M
98711 7326M
98712 7326M
98713 7326M
98714 7326M
98715 7326M
100599 7326M
100600 7326M
100659 7326M
100660 7326M
100661 7326M