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 = 317 
WHERE 
  cscart_products_categories.product_id IN (
    1442, 1445, 1459, 1453, 1417, 1433, 1439, 
    1444, 1411, 1415, 1456, 1428, 1422, 
    1465, 1414, 1427, 1470, 1468, 1441, 
    1429, 1454, 1430, 1431, 1440, 1435, 
    1457, 1467, 1458, 1432, 1434, 1410, 
    1471, 1436, 1419, 1463, 1451, 1420, 
    1449, 1412, 1448, 1447, 1426, 1437, 
    1460, 1464, 1421, 1462, 1409, 1416, 
    1472, 1452, 1425, 1438, 1424, 1413, 
    1450, 1469, 1455, 1443, 1418, 1634, 
    1664, 1641, 1671, 1627, 1657, 1655, 
    1686, 1646, 1677, 1636, 1666, 1638, 
    1668, 1644, 1674, 1642, 1672, 2185, 
    1629
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00098

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "26.14"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "2.23"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 68,
            "rows_produced_per_join": 2,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "7.63",
              "eval_cost": "0.27",
              "prefix_cost": "7.91",
              "data_read_per_join": "9K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`cscartdevel`.`cscart_categories`.`storefront_id` in (0,1)) and ((`cscartdevel`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`cscartdevel`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`cscartdevel`.`cscart_categories`.`usergroup_ids`))) and (`cscartdevel`.`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": [
              "cscartdevel.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 16,
            "rows_produced_per_join": 2,
            "filtered": "5.12",
            "index_condition": "(`cscartdevel`.`cscart_products_categories`.`product_id` in (1442,1445,1459,1453,1417,1433,1439,1444,1411,1415,1456,1428,1422,1465,1414,1427,1470,1468,1441,1429,1454,1430,1431,1440,1435,1457,1467,1458,1432,1434,1410,1471,1436,1419,1463,1451,1420,1449,1412,1448,1447,1426,1437,1460,1464,1421,1462,1409,1416,1472,1452,1425,1438,1424,1413,1450,1469,1455,1443,1418,1634,1664,1641,1671,1627,1657,1655,1686,1646,1677,1636,1666,1638,1668,1644,1674,1642,1672,2185,1629))",
            "cost_info": {
              "read_cost": "10.88",
              "eval_cost": "0.22",
              "prefix_cost": "23.14",
              "data_read_per_join": "35"
            },
            "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",
              "cscartdevel.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 2,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.56",
              "eval_cost": "0.22",
              "prefix_cost": "23.92",
              "data_read_per_join": "35"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
1409 359M
1410 359M
1411 359M
1412 359M
1413 359M
1414 359M
1415 359M
1416 359M
1417 359M
1418 359M
1419 359M
1420 359M
1421 359M
1422 359M
1424 359M
1425 359M
1426 359M
1427 359M
1428 359M
1429 359M
1430 359M
1431 359M
1432 359M
1433 359M
1434 359M
1435 359M
1436 359M
1437 359M
1438 359M
1439 359M
1440 359M
1441 359M
1442 359M
1443 359M
1444 359M
1445 359M
1447 359M
1448 359M
1449 359M
1450 359M
1451 359M
1452 359M
1453 359M
1454 359M
1455 359M
1456 359M
1457 359M
1458 359M
1459 359M
1460 359M
1462 359M
1463 359M
1464 359M
1465 359M
1467 359M
1468 359M
1469 359M
1470 359M
1471 359M
1472 359M
1627 359M
1629 359M
1634 359M
1636 359M
1638 359M
1641 359M
1642 359M
1644 359M
1646 359M
1655 359M
1657 359M
1664 359M
1666 359M
1668 359M
1671 359M
1672 359M
1674 359M
1677 359M
1686 359M
2185 359M