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 = 271 
WHERE 
  cscart_products_categories.product_id IN (
    5439, 5440, 5441, 5442, 5443, 5444, 5445, 
    5446, 5447, 5448, 5449, 5450, 5451, 
    5452, 5453, 5454, 5455, 5456, 5457, 
    5458, 5459, 5460, 6727, 1672, 1673, 
    1674, 1675, 1676, 1677, 1678, 1679, 
    1680, 1681, 1682, 1683, 1684, 1685, 
    1686, 1687, 1688, 1689, 1690, 1691, 
    1692, 1693, 1694, 1695, 1696, 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
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00237

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "68.46"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.60"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 40,
            "rows_produced_per_join": 1,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "4.54",
              "eval_cost": "0.16",
              "prefix_cost": "4.70",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`gaseus`.`cscart_categories`.`storefront_id` in (0,1)) and ((`gaseus`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`gaseus`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`gaseus`.`cscart_categories`.`usergroup_ids`))) and (`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": [
              "gaseus.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 110,
            "rows_produced_per_join": 1,
            "filtered": "0.91",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (5439,5440,5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456,5457,5458,5459,5460,6727,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,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))",
            "cost_info": {
              "read_cost": "44.00",
              "eval_cost": "0.16",
              "prefix_cost": "66.30",
              "data_read_per_join": "25"
            },
            "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",
              "gaseus.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.40",
              "eval_cost": "0.16",
              "prefix_cost": "66.86",
              "data_read_per_join": "25"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
1672 308M
1673 308M
1674 308M
1675 308M
1676 308M
1677 308M
1678 308M
1679 308M
1680 308M
1681 308M
1682 308M
1683 308M
1684 308M
1685 308M
1686 308M
1687 308M
1688 308M
1689 308M
1690 308M
1691 308M
1692 308M
1693 308M
1694 308M
1695 308M
1696 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
3733 308M
3735 308M
3736 308M
3737 308M
3738 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
5439 308M
5440 308M
5441 308M
5442 308M
5443 308M
5444 308M
5445 308M
5446 308M
5447 308M
5448 308M
5449 308M
5450 308M
5451 308M
5452 308M
5453 308M
5454 308M
5455 308M
5456 308M
5457 308M
5458 308M
5459 308M
5460 308M
6727 308M