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 = 7191 
WHERE 
  cscart_products_categories.product_id IN (
    90569, 90574, 90575, 91090, 91091, 91094, 
    91095, 91097, 91098, 91099, 91176, 
    91177, 91180, 91181, 91183, 91184, 
    91185, 91231, 91232, 91235, 91236, 
    91238, 91239, 91240, 83268, 83270, 
    90544, 90545, 91070, 91071, 91073, 
    91074, 91075, 90567, 90573, 90579, 
    87308, 87309, 87320, 87321, 87332, 
    87333, 87344, 87345, 90555, 90582, 
    90855, 90934
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00192

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "54.77"
    },
    "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": 96,
            "rows_produced_per_join": 96,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.89",
              "eval_cost": "9.60",
              "prefix_cost": "19.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (90569,90574,90575,91090,91091,91094,91095,91097,91098,91099,91176,91177,91180,91181,91183,91184,91185,91231,91232,91235,91236,91238,91239,91240,83268,83270,90544,90545,91070,91071,91073,91074,91075,90567,90573,90579,87308,87309,87320,87321,87332,87333,87344,87345,90555,90582,90855,90934))"
          }
        },
        {
          "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": "24.00",
              "eval_cost": "0.48",
              "prefix_cost": "53.09",
              "data_read_per_join": "12K"
            },
            "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": "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": 4,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.20",
              "eval_cost": "0.48",
              "prefix_cost": "54.77",
              "data_read_per_join": "76"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
83268 7170,7191M 0
83270 7170,7191M 0
87308 7170,7191M 0
87309 7170,7191M 0
87320 7170,7191M 0
87321 7170,7191M 0
87332 7170,7191M 0
87333 7170,7191M 0
87344 7170,7191M 0
87345 7170,7191M 0
90544 7170,7191M 0
90545 7170,7191M 0
90555 7170,7191M 0
90567 7170,7191M 0
90569 7170,7191M 0
90573 7170,7191M 0
90574 7170,7191M 0
90575 7170,7191M 0
90579 7170,7191M 0
90582 7170,7191M 0
90855 7191,7170M 0
90934 7191,7170M 0
91070 7191,7170M 0
91071 7191,7170M 0
91073 7191,7170M 0
91074 7191,7170M 0
91075 7191,7170M 0
91090 7191,7170M 0
91091 7191,7170M 0
91094 7191,7170M 0
91095 7191,7170M 0
91097 7191,7170M 0
91098 7191,7170M 0
91099 7191,7170M 0
91176 7191,7170M 0
91177 7191,7170M 0
91180 7191,7170M 0
91181 7191,7170M 0
91183 7191,7170M 0
91184 7191,7170M 0
91185 7191,7170M 0
91231 7191,7170M 0
91232 7191,7170M 0
91235 7191,7170M 0
91236 7191,7170M 0
91238 7191,7170M 0
91239 7191,7170M 0
91240 7191,7170M 0