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 = 7158 
WHERE 
  cscart_products_categories.product_id IN (
    87994, 90317, 90319, 90320, 85645, 87388, 
    88390, 91428, 91430, 88395, 86887, 
    85581, 88389, 88391, 88388, 88095, 
    88392, 92408, 87993, 91427, 91429, 
    87387, 87389, 87383, 87384, 87385, 
    89612, 89613, 88393, 87386, 87382, 
    89611, 82328, 88860, 88861, 88862, 
    88863, 88864, 90819, 90820, 90821, 
    90822, 85563, 88929, 82434, 88858, 
    88859, 90817, 90818, 93790, 93791, 
    93842, 93843, 93844, 93845, 94119, 
    94120, 94121, 94122, 94123, 94124, 
    94125, 94126, 94127, 94128, 94129, 
    94130, 94131, 94132, 94133, 94134, 
    94135, 94136, 94137, 94138, 94139, 
    94457, 94619, 94620, 94621, 94622, 
    94623, 94624, 94625, 94626, 94627, 
    94628, 94629, 94630, 94631, 94632, 
    94633, 94634, 94635, 94636, 94637
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01650

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "130.88"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "6.76"
      },
      "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": 6,
            "filtered": "0.69",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.68",
              "prefix_cost": "121.75",
              "data_read_per_join": "108"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (87994,90317,90319,90320,85645,87388,88390,91428,91430,88395,86887,85581,88389,88391,88388,88095,88392,92408,87993,91427,91429,87387,87389,87383,87384,87385,89612,89613,88393,87386,87382,89611,82328,88860,88861,88862,88863,88864,90819,90820,90821,90822,85563,88929,82434,88858,88859,90817,90818,93790,93791,93842,93843,93844,93845,94119,94120,94121,94122,94123,94124,94125,94126,94127,94128,94129,94130,94131,94132,94133,94134,94135,94136,94137,94138,94139,94457,94619,94620,94621,94622,94623,94624,94625,94626,94627,94628,94629,94630,94631,94632,94633,94634,94635,94636,94637))"
          }
        },
        {
          "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": 6,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.69",
              "eval_cost": "0.68",
              "prefix_cost": "124.12",
              "data_read_per_join": "108"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
82328 7148,7158,7159M 0
82434 7148,7158M 0
85563 7148,7158M 0
85581 7148,7158,7159M 0
85645 7148,7158M 0
86887 7263M
87382 7148,7158,7247M 0
87383 7148,7158,7247M 0
87384 7148,7158,7247M 0
87385 7148,7158,7159M 0
87386 7148,7158,7247M 0
87387 7148,7158,7247M 0
87388 7148,7158,7247M 0
87389 7148,7158,7247M 0
87993 7263M
87994 7263M
88095 7148,7158M 0
88388 7263M
88389 7263M
88390 7263M
88391 7263M
88392 7263M
88393 7263M
88395 7263M
88858 7148,7158M 0
88859 7148,7158M 0
88860 7148,7158M 0
88861 7148,7158M 0
88862 7148,7158M 0
88863 7148,7158M 0
88864 7148,7158,7159M 0
88929 7148,7158M 0
89611 7148,7158,7247M 0
89612 7148,7158,7247M 0
89613 7148,7158,7247M 0
90317 7247M,7265
90319 7247M,7265
90320 7247M,7265
90817 7148,7158,7159M 0
90818 7148,7158,7159M 0
90819 7148,7158,7159M 0
90820 7148,7158,7159M 0
90821 7148,7158,7159M 0
90822 7148,7158,7159M 0
91427 7263M
91428 7263M
91429 7263M
91430 7263M
92408 7148M,7158,7159 0
93790 7263M
93791 7263M
93842 7263M
93843 7263M
93844 7263M
93845 7263M
94119 7247M,7265
94120 7247M,7265
94121 7247M,7265
94122 7247M,7265
94123 7247M,7265
94124 7247M,7265
94125 7247M,7265
94126 7247M,7265
94127 7247M,7265
94128 7247M,7265
94129 7247M,7265
94130 7247M,7265
94131 7247M,7265
94132 7247M,7265
94133 7247M,7265
94134 7247M,7265
94135 7247M,7265
94136 7247M,7265
94137 7247M,7265
94138 7247M,7265
94139 7247M,7265
94457 7247M,7265
94619 7263M
94620 7263M
94621 7263M
94622 7263M
94623 7263M
94624 7263M
94625 7263M
94626 7263M
94627 7263M
94628 7263M
94629 7263M
94630 7263M
94631 7263M
94632 7263M
94633 7263M
94634 7263M
94635 7263M
94636 7263M
94637 7263M