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 = 372 
WHERE 
  cscart_products_categories.product_id IN (
    6454, 6535, 6792, 7705, 7731, 10133, 
    6553, 6666, 10039, 10095, 8867, 10012, 
    6571, 6732, 7520, 6551, 6683, 6744, 
    7745, 6573, 6587, 6756, 6782, 7517, 
    7529, 10120, 6673, 6714, 7542, 7677, 
    8345, 8976, 6495, 6582, 6583, 6680, 
    6789, 6796, 7584, 10148
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00265

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "64.78"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 67,
            "rows_produced_per_join": 67,
            "filtered": "100.00",
            "index_condition": "(`softwarepirmam_hewadelivard_cscart_4`.`cscart_products_categories`.`product_id` in (6454,6535,6792,7705,7731,10133,6553,6666,10039,10095,8867,10012,6571,6732,7520,6551,6683,6744,7745,6573,6587,6756,6782,7517,7529,10120,6673,6714,7542,7677,8345,8976,6495,6582,6583,6680,6789,6796,7584,10148))",
            "cost_info": {
              "read_cost": "33.46",
              "eval_cost": "6.70",
              "prefix_cost": "40.16",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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": [
              "softwarepirmam_hewadelivard_cscart_4.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "16.75",
              "eval_cost": "0.34",
              "prefix_cost": "63.61",
              "data_read_per_join": "10K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`storefront_id` in (0,1)) and ((`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`usergroup_ids`))) and (`softwarepirmam_hewadelivard_cscart_4`.`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",
              "softwarepirmam_hewadelivard_cscart_4.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.84",
              "eval_cost": "0.34",
              "prefix_cost": "64.78",
              "data_read_per_join": "53"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
6454 174,453,372,166,190,454M 0
6495 372,583M 0
6535 466,573M
6551 466,574M
6553 556,554M
6571 466,574M
6573 466,574M
6582 372,572,582M 0
6583 572,372,582M 0
6587 372M 0
6666 466,574M
6673 466,575M
6680 466,574M
6683 466,574M
6714 466,574M
6732 466,579M
6744 466,579M
6756 466,579M
6782 372,587M 0
6789 466,574M
6792 466,574M
6796 466,574M
7517 459M
7520 459M
7529 460M
7542 465M
7584 587M
7677 587M
7705 467M
7731 596M
7745 467M
8345 459M
8867 655M
8976 583M
10012 574M
10039 597M
10095 487,486M
10120 372,453,174,190,454,166M 0
10133 372,454,453,190,174,166M 0
10148 372M 0