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 (
    96121, 96494, 96495, 96496, 96497, 96498, 
    96499, 96500, 96501, 96502, 96503, 
    96504, 96505, 96506, 96507, 96508, 
    96509, 96530, 96570, 96571, 96572, 
    96573, 97574, 97575, 97581, 97608, 
    97609, 97610, 97611, 97612, 97613, 
    97614, 97615, 97616, 97617, 97618, 
    97619, 97620, 97621, 97622, 97623, 
    97624, 97625, 97626, 97627, 97629, 
    97630, 97631, 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.01628

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "131.93"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "7.54"
      },
      "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": 7,
            "filtered": "0.77",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.75",
              "prefix_cost": "121.75",
              "data_read_per_join": "120"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (96121,96494,96495,96496,96497,96498,96499,96500,96501,96502,96503,96504,96505,96506,96507,96508,96509,96530,96570,96571,96572,96573,97574,97575,97581,97608,97609,97610,97611,97612,97613,97614,97615,97616,97617,97618,97619,97620,97621,97622,97623,97624,97625,97626,97627,97629,97630,97631,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": 7,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.89",
              "eval_cost": "0.75",
              "prefix_cost": "124.39",
              "data_read_per_join": "120"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
96121 7258M
96494 7247M,7265
96495 7247M,7265
96496 7247M,7265
96497 7247M,7265
96498 7247M,7265
96499 7247M,7265
96500 7247M,7265
96501 7247M,7265
96502 7247M,7265
96503 7247M,7265
96504 7247M,7265
96505 7247M,7265
96506 7247M,7265
96507 7247M,7265
96508 7259M,7345,7347
96509 7247M,7265
96530 7259M,7345,7347
96570 7259M,7345,7347
96571 7258M
96572 7259M,7345,7347
96573 7260M,7320
97574 7208M,7241,7309,7346
97575 7208M,7241,7309,7346
97581 7247M,7265
97608 7260M,7320
97609 7261M,7349
97610 7260M,7320
97611 7260M,7320
97612 7260M,7320
97613 7260M,7320
97614 7260M,7320
97615 7260M,7320
97616 7261M,7349
97617 7260M,7320
97618 7260M,7320
97619 7258M
97620 7259M,7345,7347
97621 7258M
97622 7258M
97623 7259M,7345,7347
97624 7258M
97625 7259M,7345,7347
97626 7258M
97627 7258M
97629 7260M,7320
97630 7260M,7320
97631 7260M,7320
97632 7258M
97633 7260M,7320
97634 7261M,7349
97635 7260M,7320
97636 7260M,7320
97637 7260M,7320
97638 7258M
97639 7259M,7345,7347
97640 7260M,7320
97641 7260M,7320
97642 7260M,7320
97643 7260M,7320
97644 7260M,7320
97645 7260M,7320
97646 7260M,7320
97647 7260M,7320
97648 7260M,7320
97649 7260M,7320
97650 7260M,7320
97651 7260M,7320
97652 7260M,7320
97653 7260M,7320
97654 7260M,7320
97655 7260M,7320
97656 7260M,7320
97657 7260M,7320
97658 7260M,7320
97659 7260M,7320
97660 7260M,7320
97661 7260M,7320
97662 7260M,7320
97663 7260M,7320
97664 7260M,7320
97665 7260M,7320
97666 7260M,7320
97667 7260M,7320
97668 7260M,7320
97669 7260M,7320
97670 7260M,7320
97671 7260M,7320
97672 7260M,7320
97673 7260M,7320
97674 7260M,7320
97675 7260M,7320
97676 7260M,7320
97677 7260M,7320
97678 7260M,7320
97679 7260M,7320