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 = 266 
WHERE 
  cscart_products_categories.product_id IN (
    1697, 1698, 1699, 1700, 1701, 1702, 1703, 
    1704, 1705, 1706, 1707, 1708, 1709, 
    1710, 1711, 1712, 1713, 1714, 1715, 
    1716, 1717, 1718, 1719, 1720, 3733, 
    3735, 3736, 3737, 3738, 5371, 5372, 
    5373, 5374, 5375, 5376, 5377, 5378, 
    5379, 5380, 5381, 5382, 5383, 5384, 
    5385, 5386, 5387, 5388, 5389, 5390, 
    5391, 5392, 5393, 5394, 5395, 5396, 
    5397, 5398, 5399, 5400, 5401, 5402, 
    5403, 5404, 5405, 5406, 5407, 5408, 
    5409, 5410, 5411, 5412, 5413, 5414, 
    6728, 515, 3156, 3676, 5131, 13298, 
    13299, 13300, 13301, 13124, 13125, 
    13126, 13098, 13105, 13112, 13118, 
    13064, 13071, 13078, 13085, 13091, 
    3834, 3833
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00247

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "61.33"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.89"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 46,
            "rows_produced_per_join": 1,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "5.15",
              "eval_cost": "0.18",
              "prefix_cost": "5.33",
              "data_read_per_join": "7K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`test2_gaseus`.`cscart_categories`.`storefront_id` in (0,1)) and ((`test2_gaseus`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`test2_gaseus`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`test2_gaseus`.`cscart_categories`.`usergroup_ids`))) and (`test2_gaseus`.`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": [
              "test2_gaseus.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 83,
            "rows_produced_per_join": 1,
            "filtered": "1.24",
            "index_condition": "(`test2_gaseus`.`cscart_products_categories`.`product_id` in (1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,3733,3735,3736,3737,3738,5371,5372,5373,5374,5375,5376,5377,5378,5379,5380,5381,5382,5383,5384,5385,5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408,5409,5410,5411,5412,5413,5414,6728,515,3156,3676,5131,13298,13299,13300,13301,13124,13125,13126,13098,13105,13112,13118,13064,13071,13078,13085,13091,3834,3833))",
            "cost_info": {
              "read_cost": "38.18",
              "eval_cost": "0.19",
              "prefix_cost": "58.78",
              "data_read_per_join": "30"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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",
              "test2_gaseus.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.47",
              "eval_cost": "0.19",
              "prefix_cost": "59.44",
              "data_read_per_join": "30"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
515 308M
1697 308M
1698 308M
1699 308M
1700 308M
1701 308M
1702 308M
1703 308M
1704 308M
1705 308M
1706 308M
1707 308M
1708 308M
1709 308M
1710 308M
1711 308M
1712 308M
1713 308M
1714 308M
1715 308M
1716 308M
1717 308M
1718 308M
1719 308M
1720 308M
3156 308M
3676 308M
3733 308M
3735 308M
3736 308M
3737 308M
3738 308M
3833 274M
3834 274M
5131 308M
5371 308M
5372 308M
5373 308M
5374 308M
5375 308M
5376 308M
5377 308M
5378 308M
5379 308M
5380 308M
5381 308M
5382 308M
5383 308M
5384 308M
5385 308M
5386 308M
5387 308M
5388 308M
5389 308M
5390 308M
5391 308M
5392 308M
5393 308M
5394 308M
5395 308M
5396 308M
5397 308M
5398 308M
5399 308M
5400 308M
5401 308M
5402 308M
5403 308M
5404 308M
5405 308M
5406 308M
5407 308M
5408 308M
5409 308M
5410 308M
5411 308M
5412 308M
5413 308M
5414 308M
6728 308M
13064 312M
13071 312M
13078 312M
13085 312M
13091 312M
13098 312M
13105 312M
13112 312M
13118 312M
13124 312M
13125 312M
13126 312M
13298 270M
13299 270M
13300 270M
13301 270M