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 = 7336 
WHERE 
  cscart_products_categories.product_id IN (
    93282, 93284, 93286, 93288, 93290, 93294, 
    93338, 93339, 94428, 94750, 94759, 
    94760, 94761, 94763, 94765, 94816, 
    94950, 94951, 94956, 94957, 95566, 
    95569, 95571, 95574, 95575, 95578, 
    95579, 95580, 95581, 95587
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00119

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "79.49"
    },
    "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": 88,
            "rows_produced_per_join": 88,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.09",
              "eval_cost": "8.80",
              "prefix_cost": "17.89",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (93282,93284,93286,93288,93290,93294,93338,93339,94428,94750,94759,94760,94761,94763,94765,94816,94950,94951,94956,94957,95566,95569,95571,95574,95575,95578,95579,95580,95581,95587))"
          }
        },
        {
          "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": 88,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "22.00",
              "eval_cost": "8.80",
              "prefix_cost": "48.69",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "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": "22.00",
              "eval_cost": "0.44",
              "prefix_cost": "79.49",
              "data_read_per_join": "11K"
            },
            "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')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
93282 7313,7338,7219M
93284 7313,7338,7219M
93286 7313,7338,7219M
93288 7313,7338,7219M
93290 7313,7338,7219M
93294 7313,7338,7219M
93338 7313,7338,7219M
93339 7313,7338,7219M
94428 7313,7338,7219M
94750 7313,7338,7219M
94759 7313,7338,7219M
94760 7313,7338,7219M
94761 7313,7338,7219M
94763 7313,7338,7219M
94765 7313,7338,7219M
94816 7313,7338,7219M
94950 7313,7338,7219M
94951 7313,7338,7219M
94956 7339,7329M
94957 7339,7329M
95566 7313,7338,7219M
95569 7313,7338,7219M
95571 7313,7338,7219M
95574 7313,7338,7219M
95575 7313,7338,7219M
95578 7313,7338,7219M
95579 7313,7338,7219M
95580 7313,7338,7219M
95581 7313,7338,7219M
95587 7313,7338,7219M