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 = 7148 
WHERE 
  cscart_products_categories.product_id IN (
    95556, 95557, 95565, 95566, 95567, 95568, 
    95569, 95570, 95571, 95572, 95573, 
    95574, 95575, 95576, 95577, 95578, 
    95579, 95580, 95581, 95582, 95583, 
    95584, 95585, 95586, 95587, 95588, 
    95589, 95590, 95591, 95592, 95593, 
    95594, 95595, 95596, 95597, 95598, 
    95599, 95600, 95601, 95602, 95603, 
    95604, 95605, 95606, 95607, 95608, 
    95609, 95610
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00196

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "66.70"
    },
    "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": 117,
            "rows_produced_per_join": 117,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "12.00",
              "eval_cost": "11.70",
              "prefix_cost": "23.70",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (95556,95557,95565,95566,95567,95568,95569,95570,95571,95572,95573,95574,95575,95576,95577,95578,95579,95580,95581,95582,95583,95584,95585,95586,95587,95588,95589,95590,95591,95592,95593,95594,95595,95596,95597,95598,95599,95600,95601,95602,95603,95604,95605,95606,95607,95608,95609,95610))"
          }
        },
        {
          "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": 5,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "29.25",
              "eval_cost": "0.59",
              "prefix_cost": "64.65",
              "data_read_per_join": "15K"
            },
            "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": 5,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.46",
              "eval_cost": "0.59",
              "prefix_cost": "66.70",
              "data_read_per_join": "93"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
95556 7266,7198M
95557 7226,7225M
95565 7341,7342,7343,7157M
95566 7313,7338,7219M
95567 7341,7342,7343,7157M
95568 7341,7342,7343,7157M
95569 7313,7338,7219M
95570 7341,7342,7343,7157M
95571 7313,7338,7219M
95572 7341,7342,7343,7157M
95573 7341,7342,7343,7157M
95574 7313,7338,7219M
95575 7313,7338,7219M
95576 7341,7342,7343,7157M
95577 7341,7342,7343,7157M
95578 7313,7338,7219M
95579 7313,7338,7219M
95580 7313,7338,7219M
95581 7313,7338,7219M
95582 7341,7342,7343,7157M
95583 7341,7342,7343,7157M
95584 7341,7342,7343,7157M
95585 7341,7342,7343,7157M
95586 7341,7342,7343,7157M
95587 7313,7338,7219M
95588 7313,7338,7219M
95589 7313,7338,7219M
95590 7313,7338,7219M
95591 7313,7338,7219M
95592 7263M
95593 7263M
95594 7263M
95595 7263M
95596 7263M
95597 7263M
95598 7263M
95599 7263M
95600 7263M
95601 7263M
95602 7263M
95603 7263M
95604 7263M
95605 7263M
95606 7263M
95607 7263M
95608 7263M
95609 7263M
95610 7263M