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 
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') 
WHERE 
  cscart_products_categories.product_id IN (
    453, 454, 455, 450, 451, 452, 435, 439, 
    443, 430, 429, 428, 415, 416, 417, 418, 
    419, 420, 421, 422, 423, 424, 425, 426, 
    403, 404, 405, 406, 407, 408, 409, 410, 
    411, 412, 413, 414, 391, 392, 393, 394, 
    395, 396, 397, 398, 399, 400, 401, 402, 
    379, 380, 381, 382, 383, 384, 385, 386, 
    387, 388, 389, 390, 363, 364, 365, 366
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00091

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "37.58"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "2.03"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 84,
            "rows_produced_per_join": 3,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "19.53",
              "eval_cost": "0.67",
              "prefix_cost": "20.20",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`pankajecarter_systemfour`.`cscart_categories`.`storefront_id` in (0,1)) and ((`pankajecarter_systemfour`.`cscart_categories`.`usergroup_ids` = '') or find_in_set(0,`pankajecarter_systemfour`.`cscart_categories`.`usergroup_ids`) or find_in_set(1,`pankajecarter_systemfour`.`cscart_categories`.`usergroup_ids`)) and (`pankajecarter_systemfour`.`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": [
              "pankajecarter_systemfour.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 3,
            "rows_produced_per_join": 2,
            "filtered": "20.15",
            "index_condition": "(`pankajecarter_systemfour`.`cscart_products_categories`.`product_id` in (453,454,455,450,451,452,435,439,443,430,429,428,415,416,417,418,419,420,421,422,423,424,425,426,403,404,405,406,407,408,409,410,411,412,413,414,391,392,393,394,395,396,397,398,399,400,401,402,379,380,381,382,383,384,385,386,387,388,389,390,363,364,365,366))",
            "cost_info": {
              "read_cost": "13.34",
              "eval_cost": "0.41",
              "prefix_cost": "35.55",
              "data_read_per_join": "32"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
363 235M
364 235M
365 235M
366 235M
379 235M
380 235M
381 235M
382 235M
383 235M
384 235M
385 235M
386 235M
387 235M
388 235M
389 235M
390 235M
391 235M
392 235M
393 235M
394 235M
395 235M
396 235M
397 235M
398 235M
399 235M
400 235M
401 235M
402 235M
403 235M
404 235M
405 235M
406 235M
407 235M
408 235M
409 235M
410 235M
411 235M
412 235M
413 235M
414 235M
415 235M
416 235M
417 235M
418 235M
419 235M
420 235M
421 235M
422 235M
423 235M
424 235M
425 235M
426 235M
428 191M
429 216M
430 216M
435 216M
439 216M
443 216M
450 190M
451 190M
452 190M
453 190M
454 190M
455 190M