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 = 7257 
WHERE 
  cscart_products_categories.product_id IN (
    97632, 97633, 97634, 97635, 97636, 97637, 
    97638, 97639, 97640, 97641, 97642, 
    97643, 97644, 97645, 97646, 97647, 
    97648, 97649, 97650, 97651, 97652, 
    97653, 97654, 97655, 97656, 97657, 
    97658, 97659, 97660, 97661, 97662, 
    97663, 97664, 97665, 97666, 97667, 
    97668, 97669, 97670, 97671, 97672, 
    97673, 97674, 97675, 97676, 97677, 
    97678, 97679
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.02452

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "85.79"
    },
    "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": 95,
            "rows_produced_per_join": 95,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.79",
              "eval_cost": "9.50",
              "prefix_cost": "19.29",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (97632,97633,97634,97635,97636,97637,97638,97639,97640,97641,97642,97643,97644,97645,97646,97647,97648,97649,97650,97651,97652,97653,97654,97655,97656,97657,97658,97659,97660,97661,97662,97663,97664,97665,97666,97667,97668,97669,97670,97671,97672,97673,97674,97675,97676,97677,97678,97679))"
          }
        },
        {
          "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": 95,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "23.75",
              "eval_cost": "9.50",
              "prefix_cost": "52.54",
              "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": "23.75",
              "eval_cost": "0.48",
              "prefix_cost": "85.79",
              "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')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
97632 7258M
97633 7320,7260M
97634 7261M,7349
97635 7320,7260M
97636 7260M,7320
97637 7260M,7320
97638 7258M
97639 7347,7345,7259M
97640 7320,7260M
97641 7320,7260M
97642 7320,7260M
97643 7320,7260M
97644 7320,7260M
97645 7320,7260M
97646 7260M,7320
97647 7260M,7320
97648 7320,7260M
97649 7320,7260M
97650 7320,7260M
97651 7320,7260M
97652 7320,7260M
97653 7260M,7320
97654 7320,7260M
97655 7320,7260M
97656 7320,7260M
97657 7320,7260M
97658 7320,7260M
97659 7320,7260M
97660 7260M,7320
97661 7260M,7320
97662 7320,7260M
97663 7320,7260M
97664 7320,7260M
97665 7260M,7320
97666 7260M,7320
97667 7320,7260M
97668 7320,7260M
97669 7320,7260M
97670 7320,7260M
97671 7260M,7320
97672 7260M,7320
97673 7260M,7320
97674 7260M,7320
97675 7260M,7320
97676 7260M,7320
97677 7320,7260M
97678 7320,7260M
97679 7320,7260M