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 (
    846, 845, 844, 832, 829, 828, 822, 817, 
    816, 662, 814, 806, 805, 804, 803, 802, 
    801, 800, 799, 798, 797, 796, 795, 792, 
    787, 786, 782, 819, 781, 765, 764, 763, 
    762, 760, 758, 752, 751, 750, 749, 747, 
    744, 743, 742, 741, 732, 731, 727, 725
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00115

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "14.60"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "4.74"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 20,
            "rows_produced_per_join": 1,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "2.52",
              "eval_cost": "0.10",
              "prefix_cost": "2.62",
              "data_read_per_join": "2K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`betaatif_store`.`cscart_categories`.`storefront_id` in (0,1)) and ((`betaatif_store`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`betaatif_store`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`betaatif_store`.`cscart_categories`.`usergroup_ids`))) and (`betaatif_store`.`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": [
              "betaatif_store.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 43,
            "rows_produced_per_join": 4,
            "filtered": "11.03",
            "index_condition": "(`betaatif_store`.`cscart_products_categories`.`product_id` in (846,845,844,832,829,828,822,817,816,662,814,806,805,804,803,802,801,800,799,798,797,796,795,792,787,786,782,819,781,765,764,763,762,760,758,752,751,750,749,747,744,743,742,741,732,731,727,725))",
            "cost_info": {
              "read_cost": "2.94",
              "eval_cost": "0.47",
              "prefix_cost": "9.86",
              "data_read_per_join": "75"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
662 15M,3
725 18M
727 15M
731 17M
732 17M
741 15M
742 15M
743 15M
744 15M
747 17M
749 17M
750 17M
751 17M
752 17M
758 17M
760 17M
762 5M
763 5M
764 5M
765 5M
781 17M
782 15M
786 15M
787 17M
792 15M
795 5M
796 15M
797 5M
798 5M
799 15M
800 15M
801 15M
802 15M
803 15M
804 15M
805 15M
806 15M
814 5M
816 17M
817 17M
819 17M
822 15M
828 18M
829 18M
832 18M
844 19M
845 19M
846 17M