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 = 7156 
WHERE 
  cscart_products_categories.product_id IN (
    96623, 96624, 96678, 96694, 97083, 97219, 
    97220, 97221, 97222, 97223, 97224, 
    97225, 97226, 97227, 97567, 97570, 
    97573, 97576, 97577, 97578, 97579, 
    97580, 97582, 97583, 97584, 97585, 
    97586, 97728, 97729, 97730, 97731, 
    97732, 97733, 97734, 97735, 97736, 
    97737, 97738, 97739, 97740, 97741, 
    97742, 97778, 97779, 97780, 97781, 
    97782, 97790, 97791, 97792, 97793, 
    97794, 97875, 97876, 97877, 97878, 
    97879, 97880, 97881, 97882, 97886, 
    97888, 98001, 98002, 98003, 98004, 
    98005, 98006, 98007, 98008, 98009, 
    98010, 98011, 98012, 98013, 98014, 
    98015, 98016, 98017, 98018, 98019, 
    98020, 98021, 98022, 98023, 98176, 
    98177, 98178, 98179, 98180, 98181, 
    98182, 98183, 98184, 98185, 98186
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00238

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "138.25"
    },
    "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": 243,
            "rows_produced_per_join": 243,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "24.65",
              "eval_cost": "24.30",
              "prefix_cost": "48.95",
              "data_read_per_join": "3K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (96623,96624,96678,96694,97083,97219,97220,97221,97222,97223,97224,97225,97226,97227,97567,97570,97573,97576,97577,97578,97579,97580,97582,97583,97584,97585,97586,97728,97729,97730,97731,97732,97733,97734,97735,97736,97737,97738,97739,97740,97741,97742,97778,97779,97780,97781,97782,97790,97791,97792,97793,97794,97875,97876,97877,97878,97879,97880,97881,97882,97886,97888,98001,98002,98003,98004,98005,98006,98007,98008,98009,98010,98011,98012,98013,98014,98015,98016,98017,98018,98019,98020,98021,98022,98023,98176,98177,98178,98179,98180,98181,98182,98183,98184,98185,98186))"
          }
        },
        {
          "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": 12,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "60.75",
              "eval_cost": "1.22",
              "prefix_cost": "134.00",
              "data_read_per_join": "31K"
            },
            "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": 12,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "3.04",
              "eval_cost": "1.22",
              "prefix_cost": "138.25",
              "data_read_per_join": "194"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
96623 7341,7342,7343,7157M
96624 7341,7342,7343,7157M
96678 7341,7342,7343,7157M
96694 7341,7342,7343,7157M
97083 7341,7342,7343,7157M
97219 7341,7342,7343,7157M
97220 7341,7342,7343,7157M
97221 7341,7342,7343,7157M
97222 7341,7342,7343,7157M
97223 7341,7342,7343,7157M
97224 7341,7342,7343,7157M
97225 7341,7342,7343,7157M
97226 7341,7342,7343,7157M
97227 7341,7342,7343,7157M
97567 7341,7342,7343,7157M
97570 7341,7342,7343,7157M
97573 7341,7342,7343,7157M
97576 7341,7342,7343,7157M
97577 7341,7342,7343,7157M
97578 7341,7342,7343,7157M
97579 7341,7342,7343,7157M
97580 7341,7342,7343,7157M
97582 7341,7342,7343,7157M
97583 7341,7342,7343,7157M
97584 7341,7342,7343,7157M
97585 7341,7342,7343,7157M
97586 7341,7342,7343,7157M
97728 7194M
97729 7194M
97730 7194M
97731 7194M
97732 7194M
97733 7194M
97734 7194M
97735 7194M
97736 7194M
97737 7194M
97738 7194M
97739 7194M
97740 7194M
97741 7194M
97742 7194M
97778 7194M
97779 7194M
97780 7194M
97781 7194M
97782 7194M
97790 7194M
97791 7194M
97792 7194M
97793 7194M
97794 7194M
97875 7341,7342,7343,7157M
97876 7341,7342,7343,7157M
97877 7341,7342,7343,7157M
97878 7341,7342,7343,7157M
97879 7341,7342,7343,7157M
97880 7341,7342,7343,7157M
97881 7341,7342,7343,7157M
97882 7341,7342,7343,7157M
97886 7341,7342,7343,7157M
97888 7341,7342,7343,7157M
98001 7341,7342,7343,7157M
98002 7194M
98003 7194M
98004 7194M
98005 7194M
98006 7194M
98007 7194M
98008 7194M
98009 7194M
98010 7194M
98011 7194M
98012 7194M
98013 7194M
98014 7194M
98015 7194M
98016 7194M
98017 7194M
98018 7194M
98019 7194M
98020 7194M
98021 7194M
98022 7194M
98023 7194M
98176 7341,7342,7343,7157M
98177 7341,7342,7343,7157M
98178 7341,7342,7343,7157M
98179 7341,7342,7343,7157M
98180 7341,7342,7343,7157M
98181 7341,7342,7343,7157M
98182 7341,7342,7343,7157M
98183 7341,7342,7343,7157M
98184 7341,7342,7343,7157M
98185 7341,7342,7343,7157M
98186 7341,7342,7343,7157M