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 (
    51194, 51193, 51192, 51191, 51190, 51189, 
    19, 51201, 51200, 51199, 51198, 51197, 
    51196, 51195, 131, 111, 51212, 144, 
    51215, 51214, 51213, 51444, 51445, 
    51446, 51447, 51220, 51219, 51218, 
    51217, 51216, 146, 51448, 51449, 51231, 
    51230, 51229, 51228, 51227, 51226, 
    51225, 109, 51272, 51271, 51270, 51269, 
    51268, 51267, 51266, 145, 9, 59, 60, 
    14, 13, 127, 51325, 63, 50984, 51450, 
    51451, 51329, 51328, 51327, 50985, 
    51331, 51330, 50986, 51332, 51339, 
    51338, 51337, 51336, 50988, 113, 51346, 
    118, 84, 51347, 85, 6, 61, 51350, 123, 
    15, 95, 136, 50992, 51374, 51375, 42, 
    51376, 51377, 51378, 51379, 51380, 
    50993, 51381, 51382, 134
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00560

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "179.20"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "41.07"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 383,
            "rows_produced_per_join": 15,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "40.09",
              "eval_cost": "1.53",
              "prefix_cost": "41.62",
              "data_read_per_join": "81K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`test_uchur_k`.`cscart_categories`.`storefront_id` in (0,1)) and ((`test_uchur_k`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`test_uchur_k`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`test_uchur_k`.`cscart_categories`.`usergroup_ids`))) and (`test_uchur_k`.`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": [
              "test_uchur_k.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 18,
            "rows_produced_per_join": 41,
            "filtered": "14.89",
            "index_condition": "(`test_uchur_k`.`cscart_products_categories`.`product_id` in (51194,51193,51192,51191,51190,51189,19,51201,51200,51199,51198,51197,51196,51195,131,111,51212,144,51215,51214,51213,51444,51445,51446,51447,51220,51219,51218,51217,51216,146,51448,51449,51231,51230,51229,51228,51227,51226,51225,109,51272,51271,51270,51269,51268,51267,51266,145,9,59,60,14,13,127,51325,63,50984,51450,51451,51329,51328,51327,50985,51331,51330,50986,51332,51339,51338,51337,51336,50988,113,51346,118,84,51347,85,6,61,51350,123,15,95,136,50992,51374,51375,42,51376,51377,51378,51379,51380,50993,51381,51382,134))",
            "cost_info": {
              "read_cost": "68.94",
              "eval_cost": "4.11",
              "prefix_cost": "138.14",
              "data_read_per_join": "657"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
6 6,40M,42
9 6,40M,42
13 6,40M,42
14 6,40M,42
15 6,40M,43
19 9,40M,44
42 18M,45,391
59 6,40M,42
60 6,40M,42
61 6,40M,42
63 8M,45,394
84 28,40M,42,394
85 28,40M,42,394
95 31,40M,43
109 7,40M,42
111 7,40M,42
113 6,40M,42
118 6,40M,42
123 6,40M,42
127 34M,45
131 9,40M,42
134 10,45M
136 37M,45,394
144 7,40M,42,390
145 7,40M,42,390
146 7,40M,42,390
50984 10M,45
50985 10M
50986 10M
50988 10M
50992 25M
50993 25M
51189 9,40M,44
51190 9,40M,44
51191 9,40M,44
51192 9,40M,44
51193 9,40M,44
51194 9,40M,44
51195 9,40M,42
51196 9,40M,42
51197 9,40M,42
51198 9,40M,42
51199 9,40M,42
51200 9,40M,42
51201 9,40M,42
51212 7,40M,42
51213 7,40M,42,390
51214 7,40M,42,390
51215 7,40M,42,390
51216 7,40M,42,390
51217 7,40M,42,390
51218 7,40M,42,390
51219 7,40M,42,390
51220 7,40M,42,390
51225 7,40M,42
51226 7,40M,42
51227 7,40M,42
51228 7,40M,42
51229 7,40M,42
51230 7,40M,42
51231 7,40M,42
51266 7,40M,42,390
51267 7,40M,42,390
51268 7,40M,42,390
51269 7,40M,42,390
51270 7,40M,42,390
51271 7,40M,42,390
51272 7,40M,42,390
51325 34M,45
51327 10M
51328 10M
51329 10M
51330 10M
51331 10M
51332 10M
51336 10M
51337 10M
51338 10M
51339 10M
51346 6,40M,42
51347 28,40M,42,394
51350 6,40M,42
51374 25M
51375 25M
51376 18M,45,391
51377 18M,45,391
51378 18M,45,391
51379 18M,45,391
51380 18M,45,391
51381 25M
51382 25M
51444 7,40M,42,390
51445 7,40M,42,390
51446 7,40M,42,390
51447 7,40M,42,390
51448 7,40M,42,390
51449 7,40M,42,390
51450 10M,45
51451 10M,45