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 = 7165 
WHERE 
  cscart_products_categories.product_id IN (
    100984, 100985, 100986, 100987, 100988, 
    100989, 100990, 100991, 100992, 100993, 
    100994, 100995, 100996, 100997, 100998, 
    100999, 101000, 101001, 101002, 101003, 
    101004, 101005, 101006, 101007, 101008, 
    101009, 101010, 101037, 101093, 101094, 
    101095, 101096, 101097, 101098, 101099, 
    101100, 101101, 101102, 101103, 101104, 
    101536, 101537, 101538, 101539, 101540, 
    101541, 101542, 101543, 101544, 101545, 
    101546, 101628, 101629, 101630, 101631, 
    101632, 101633, 101634, 101678, 101679, 
    101680, 101681, 101740, 101741, 101742, 
    101743, 101854, 101855, 101856, 101857, 
    101858, 101859, 101860, 101861, 101862, 
    101863, 101864, 101865, 101866, 101867, 
    101868, 101869, 101870, 101871, 101928, 
    101929, 101930, 101931, 101956, 101957, 
    101958, 101959, 101960, 101961, 101962
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00302

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "122.92"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 216,
            "rows_produced_per_join": 216,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "21.94",
              "eval_cost": "21.60",
              "prefix_cost": "43.54",
              "data_read_per_join": "3K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (100984,100985,100986,100987,100988,100989,100990,100991,100992,100993,100994,100995,100996,100997,100998,100999,101000,101001,101002,101003,101004,101005,101006,101007,101008,101009,101010,101037,101093,101094,101095,101096,101097,101098,101099,101100,101101,101102,101103,101104,101536,101537,101538,101539,101540,101541,101542,101543,101544,101545,101546,101628,101629,101630,101631,101632,101633,101634,101678,101679,101680,101681,101740,101741,101742,101743,101854,101855,101856,101857,101858,101859,101860,101861,101862,101863,101864,101865,101866,101867,101868,101869,101870,101871,101928,101929,101930,101931,101956,101957,101958,101959,101960,101961,101962))"
          }
        },
        {
          "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": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 10,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "54.00",
              "eval_cost": "1.08",
              "prefix_cost": "119.14",
              "data_read_per_join": "28K"
            },
            "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": "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": 10,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "2.70",
              "eval_cost": "1.08",
              "prefix_cost": "122.92",
              "data_read_per_join": "172"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
100984 7183,7283,7167M
100985 7319,7193M
100986 7319,7193M
100987 7319,7193M
100988 7183,7283,7167M
100989 7319,7193M
100990 7319,7193M
100991 7319,7193M
100992 7319,7193M
100993 7319,7193M
100994 7319,7193M
100995 7319,7193M
100996 7319,7193M
100997 7319,7193M
100998 7319,7193M
100999 7319,7193M
101000 7319,7193M
101001 7319,7193M
101002 7319,7193M
101003 7319,7193M
101004 7319,7193M
101005 7319,7193M
101006 7319,7193M
101007 7319,7193M
101008 7319,7193M
101009 7319,7193M
101010 7319,7193M
101037 7175M
101093 7319,7193M
101094 7319,7193M
101095 7319,7193M
101096 7319,7193M
101097 7319,7193M
101098 7319,7193M
101099 7319,7193M
101100 7319,7193M
101101 7319,7193M
101102 7183,7283,7167M
101103 7183,7283,7167M
101104 7183,7283,7167M
101536 7177M
101537 7177M
101538 7177M
101539 7177M
101540 7173M
101541 7173M
101542 7173M
101543 7179M
101544 7179M
101545 7176M
101546 7176M
101628 7183,7283,7167M
101629 7183,7283,7167M
101630 7183,7283,7167M
101631 7183,7283,7167M
101632 7183,7283,7167M
101633 7183,7283,7167M
101634 7176M
101678 7183,7283,7167M
101679 7183,7283,7167M
101680 7183,7283,7167M
101681 7183,7283,7167M
101740 7183,7283,7167M
101741 7183,7283,7167M
101742 7183,7283,7167M
101743 7183,7283,7167M
101854 7183,7283,7167M
101855 7183,7283,7167M
101856 7183,7283,7167M
101857 7183,7283,7167M
101858 7183,7283,7167M
101859 7183,7283,7167M
101860 7183,7283,7167M
101861 7183,7283,7167M
101862 7183,7283,7167M
101863 7183,7283,7167M
101864 7183,7283,7167M
101865 7183,7283,7167M
101866 7183,7283,7167M
101867 7183,7283,7167M
101868 7183,7283,7167M
101869 7183,7283,7167M
101870 7183,7283,7167M
101871 7183,7283,7167M
101928 7183,7283,7167M
101929 7183,7283,7167M
101930 7183,7283,7167M
101931 7183,7283,7167M
101956 7176M
101957 7176M
101958 7319,7193M
101959 7319,7193M
101960 7319,7193M
101961 7319,7193M
101962 7319,7193M