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 = 7165 
WHERE 
  cscart_products_categories.product_id IN (
    90788, 90790, 90789, 90791, 90784, 90786, 
    90774, 90772, 90785, 90787, 90780, 
    90782, 90775, 87367, 90781, 90783, 
    90773, 90776, 90778, 87366, 87365, 
    90777, 90779, 87354, 90770, 87364, 
    82550, 90768, 87352, 87353, 90771, 
    87358, 87378, 82548, 90769, 87380, 
    87357, 87376, 87377, 90766, 90767, 
    87374, 90150, 90165, 87379, 84073, 
    84081, 82509, 87373, 82508, 90149, 
    90164, 90764, 90765, 90142, 90157, 
    90762, 90763, 90148, 90163, 82531, 
    87369, 84072, 84080, 82541, 90759, 
    90147, 90162, 82440, 87368, 87363, 
    84071, 84079, 84095, 90141, 90156, 
    90297, 90304, 82539, 82530, 84057, 
    84065, 82439, 82549, 87362, 84070, 
    84078, 90758, 90760, 90761, 85973, 
    87361, 87356, 84069, 84077, 82540
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01887

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "130.31"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "6.34"
      },
      "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.65",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.63",
              "prefix_cost": "121.75",
              "data_read_per_join": "101"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (90788,90790,90789,90791,90784,90786,90774,90772,90785,90787,90780,90782,90775,87367,90781,90783,90773,90776,90778,87366,87365,90777,90779,87354,90770,87364,82550,90768,87352,87353,90771,87358,87378,82548,90769,87380,87357,87376,87377,90766,90767,87374,90150,90165,87379,84073,84081,82509,87373,82508,90149,90164,90764,90765,90142,90157,90762,90763,90148,90163,82531,87369,84072,84080,82541,90759,90147,90162,82440,87368,87363,84071,84079,84095,90141,90156,90297,90304,82539,82530,84057,84065,82439,82549,87362,84070,84078,90758,90760,90761,85973,87361,87356,84069,84077,82540))"
          }
        },
        {
          "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.58",
              "eval_cost": "0.63",
              "prefix_cost": "123.97",
              "data_read_per_join": "101"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
82439 7177M
82440 7177M
82508 7165,7168,7176M 0
82509 7165,7168,7176M 0
82530 7178M
82531 7178M
82539 7179M
82540 7179M
82541 7179M
82548 7180M
82549 7225M,7226
82550 7180M
84057 7193M,7319
84065 7193M,7319
84069 7193M,7319
84070 7193M,7319
84071 7193M,7319
84072 7193M,7319
84073 7193M,7319
84077 7193M,7319
84078 7193M,7319
84079 7193M,7319
84080 7193M,7319
84081 7193M,7319
84095 7193M,7319
85973 7193M,7319
87352 7176M
87353 7176M
87354 7176M
87356 7177M
87357 7179M
87358 7179M
87361 7177M
87362 7177M
87363 7177M
87364 7179M
87365 7179M
87366 7179M
87367 7179M
87368 7177M
87369 7177M
87373 7176M
87374 7176M
87376 7176M
87377 7176M
87378 7176M
87379 7179M
87380 7179M
90141 7193M,7319
90142 7193M,7319
90147 7193M,7319
90148 7193M,7319
90149 7193M,7319
90150 7193M,7319
90156 7193M,7319
90157 7193M,7319
90162 7193M,7319
90163 7193M,7319
90164 7193M,7319
90165 7193M,7319
90297 7193M,7319
90304 7193M,7319
90758 7165,7328M 0
90759 7165,7328M 0
90760 7165,7328M 0
90761 7165,7328M 0
90762 7165,7328M 0
90763 7165,7328M 0
90764 7165,7328M 0
90765 7165,7328M 0
90766 7165,7328M 0
90767 7165,7328M 0
90768 7165,7328M 0
90769 7165,7328M 0
90770 7165,7328M 0
90771 7165,7328M 0
90772 7165,7328M 0
90773 7165,7328M 0
90774 7165,7328M 0
90775 7165,7328M 0
90776 7165,7328M 0
90777 7165,7328M 0
90778 7165,7328M 0
90779 7165,7328M 0
90780 7165,7328M 0
90781 7165,7328M 0
90782 7165,7328M 0
90783 7165,7328M 0
90784 7165,7328M 0
90785 7165,7328M 0
90786 7165,7328M 0
90787 7165,7328M 0
90788 7165,7328M 0
90789 7165,7328M 0
90790 7165,7328M 0
90791 7165,7328M 0