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 = 7257 
WHERE 
  cscart_products_categories.product_id IN (
    98785, 98786, 98787, 98788, 98789, 98790, 
    98791, 98792, 98793, 98794, 98795, 
    98796, 98797, 98798, 98799, 98800, 
    98801, 98802, 98803, 98804, 98805, 
    98806, 98807, 98808, 98809, 98810, 
    98811, 98812, 98813, 98814, 98874, 
    98875, 98876, 98877, 98878, 98879, 
    98880, 98881, 98886, 98887, 98888, 
    99056, 99057, 99058, 99059, 99060, 
    99061, 99062
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01703

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "130.72"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "6.65"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 208,
            "rows_produced_per_join": 8,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "20.72",
              "eval_cost": "0.83",
              "prefix_cost": "21.55",
              "data_read_per_join": "21K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 117,
            "rows_produced_per_join": 6,
            "filtered": "0.68",
            "cost_info": {
              "read_cost": "2.33",
              "eval_cost": "0.66",
              "prefix_cost": "121.75",
              "data_read_per_join": "106"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (98785,98786,98787,98788,98789,98790,98791,98792,98793,98794,98795,98796,98797,98798,98799,98800,98801,98802,98803,98804,98805,98806,98807,98808,98809,98810,98811,98812,98813,98814,98874,98875,98876,98877,98878,98879,98880,98881,98886,98887,98888,99056,99057,99058,99059,99060,99061,99062))"
          }
        },
        {
          "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",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 6,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.66",
              "eval_cost": "0.66",
              "prefix_cost": "124.07",
              "data_read_per_join": "106"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
98785 7208M,7241,7309,7346
98786 7208M,7241,7309,7346
98787 7208M,7241,7309,7346
98788 7208M,7241,7309,7346
98789 7208M,7241,7309,7346
98790 7208M,7241,7309,7346
98791 7208M,7241,7309,7346
98792 7208M,7241,7309,7346
98793 7208M,7241,7309,7346
98794 7208M,7241,7309,7346
98795 7208M,7241,7309,7346
98796 7208M,7241,7309,7346
98797 7208M,7241,7309,7346
98798 7208M,7241,7309,7346
98799 7208M,7241,7309,7346
98800 7208M,7241,7309,7346
98801 7208M,7241,7309,7346
98802 7208M,7241,7309,7346
98803 7208M,7241,7309,7346
98804 7208M,7241,7309,7346
98805 7208M,7241,7309,7346
98806 7208M,7241,7309,7346
98807 7208M,7241,7309,7346
98808 7208M,7241,7309,7346
98809 7208M,7241,7309,7346
98810 7208M,7241,7309,7346
98811 7208M,7241,7309,7346
98812 7208M,7241,7309,7346
98813 7208M,7241,7309,7346
98814 7208M,7241,7309,7346
98874 7208M,7241,7309,7346
98875 7208M,7241,7309,7346
98876 7208M,7241,7309,7346
98877 7208M,7241,7309,7346
98878 7258M
98879 7258M
98880 7258M
98881 7258M
98886 7258M
98887 7258M
98888 7258M
99056 7208M,7241,7309,7346
99057 7208M,7241,7309,7346
99058 7208M,7241,7309,7346
99059 7208M,7241,7309,7346
99060 7208M,7241,7309,7346
99061 7208M,7241,7309,7346
99062 7208M,7241,7309,7346