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 (
    84055, 84063, 82545, 85966, 87415, 90294, 
    90301, 90131, 90132, 83943, 84087, 
    90756, 90250, 90258, 90180, 90181, 
    82524, 90202, 90213, 84054, 84062, 
    90151, 90166, 85970, 84091, 90146, 
    90161, 87414, 89565, 82517, 90300, 
    90307, 84053, 84061, 83942, 84086, 
    82546, 89571, 90231, 90246, 84066, 
    84074, 87413, 90201, 90212, 90137, 
    90138, 84090
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01521

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "78.59"
    },
    "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": 87,
            "rows_produced_per_join": 87,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "8.99",
              "eval_cost": "8.70",
              "prefix_cost": "17.69",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (84055,84063,82545,85966,87415,90294,90301,90131,90132,83943,84087,90756,90250,90258,90180,90181,82524,90202,90213,84054,84062,90151,90166,85970,84091,90146,90161,87414,89565,82517,90300,90307,84053,84061,83942,84086,82546,89571,90231,90246,84066,84074,87413,90201,90212,90137,90138,84090))"
          }
        },
        {
          "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": 87,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "21.75",
              "eval_cost": "8.70",
              "prefix_cost": "48.14",
              "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": "21.75",
              "eval_cost": "0.44",
              "prefix_cost": "78.59",
              "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
82517 7177M
82524 7178M
82545 7176M
82546 7176M
83942 7319,7193M
83943 7319,7193M
84053 7319,7193M
84054 7319,7193M
84055 7319,7193M
84061 7193M,7319
84062 7193M,7319
84063 7193M,7319
84066 7193M,7319
84074 7193M,7319
84086 7193M,7319
84087 7193M,7319
84090 7193M,7319
84091 7319,7193M
85966 7319,7193M
85970 7319,7193M
87413 7174M
87414 7174M
87415 7174M
89565 7179M
89571 7176M
90131 7319,7193M
90132 7319,7193M
90137 7319,7193M
90138 7193M,7319
90146 7193M,7319
90151 7319,7193M
90161 7319,7193M
90166 7319,7193M
90180 7319,7193M
90181 7319,7193M
90201 7193M,7319
90202 7193M,7319
90212 7319,7193M
90213 7319,7193M
90231 7319,7193M
90246 7319,7193M
90250 7319,7193M
90258 7319,7193M
90294 7193M,7319
90300 7193M,7319
90301 7193M,7319
90307 7193M,7319
90756 7165,7328M 0