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 = 271 
WHERE 
  cscart_products_categories.product_id IN (
    3940, 3941, 3942, 3943, 3944, 3945, 3946, 
    3985, 3986, 3987, 3988, 3989, 3990, 
    3991, 4045, 4046, 4047, 4048, 4049, 
    4050, 4051, 4128, 4129, 4130, 4131, 
    4132, 4133, 4134, 4181, 4182, 4183, 
    4184, 4185, 4186, 4187, 26, 27, 28, 72, 
    73, 74, 75, 133, 134, 135, 136, 137, 138, 
    139, 240, 241, 242, 293, 294, 295, 296, 
    3520, 3521, 3522, 3523, 3524, 3936, 
    3937, 3938, 3983, 3984, 4042, 4043, 
    4044, 4124, 4125, 4126, 4127, 4178, 
    4179, 4180, 43, 44, 45, 46, 47, 48, 49, 
    90, 91, 92, 93, 94, 95, 96, 154, 155, 156, 
    157, 158, 159
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00299

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "68.37"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.53"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 40,
            "rows_produced_per_join": 1,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "4.54",
              "eval_cost": "0.16",
              "prefix_cost": "4.70",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`gaseus`.`cscart_categories`.`storefront_id` in (0,1)) and ((`gaseus`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`gaseus`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`gaseus`.`cscart_categories`.`usergroup_ids`))) and (`gaseus`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "gaseus.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 110,
            "rows_produced_per_join": 1,
            "filtered": "0.87",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (3940,3941,3942,3943,3944,3945,3946,3985,3986,3987,3988,3989,3990,3991,4045,4046,4047,4048,4049,4050,4051,4128,4129,4130,4131,4132,4133,4134,4181,4182,4183,4184,4185,4186,4187,26,27,28,72,73,74,75,133,134,135,136,137,138,139,240,241,242,293,294,295,296,3520,3521,3522,3523,3524,3936,3937,3938,3983,3984,4042,4043,4044,4124,4125,4126,4127,4178,4179,4180,43,44,45,46,47,48,49,90,91,92,93,94,95,96,154,155,156,157,158,159))",
            "cost_info": {
              "read_cost": "44.00",
              "eval_cost": "0.15",
              "prefix_cost": "66.30",
              "data_read_per_join": "24"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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",
              "gaseus.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.38",
              "eval_cost": "0.15",
              "prefix_cost": "66.84",
              "data_read_per_join": "24"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
26 273M
27 273M
28 273M
43 273M
44 273M
45 273M
46 273M
47 273M
48 273M
49 273M
72 273M
73 273M
74 273M
75 273M
90 273M
91 273M
92 273M
93 273M
94 273M
95 273M
96 273M
133 273M
134 273M
135 273M
136 273M
137 273M
138 273M
139 273M
154 273M
155 273M
156 273M
157 273M
158 273M
159 273M
240 273M
241 273M
242 273M
293 273M
294 273M
295 273M
296 273M
3520 273M
3521 273M
3522 273M
3523 273M
3524 273M
3936 273M
3937 273M
3938 273M
3940 273M
3941 273M
3942 273M
3943 273M
3944 273M
3945 273M
3946 273M
3983 273M
3984 273M
3985 273M
3986 273M
3987 273M
3988 273M
3989 273M
3990 273M
3991 273M
4042 273M
4043 273M
4044 273M
4045 273M
4046 273M
4047 273M
4048 273M
4049 273M
4050 273M
4051 273M
4124 273M
4125 273M
4126 273M
4127 273M
4128 273M
4129 273M
4130 273M
4131 273M
4132 273M
4133 273M
4134 273M
4178 273M
4179 273M
4180 273M
4181 273M
4182 273M
4183 273M
4184 273M
4185 273M
4186 273M
4187 273M