SELECT 
  video_id, 
  GROUP_CONCAT(
    DISTINCT product_id 
    ORDER BY 
      product_id ASC SEPARATOR ', '
  ) as products 
FROM 
  cscart_cp_video_product_links 
WHERE 
  video_id IN (
    2045, 2046, 2047, 2040, 2041, 2038, 2026, 
    2028, 2018, 2020
  ) 
GROUP BY 
  video_id

Query time 0.00034

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "4.86"
    },
    "grouping_operation": {
      "using_filesort": false,
      "table": {
        "table_name": "cscart_cp_video_product_links",
        "access_type": "range",
        "possible_keys": [
          "PRIMARY",
          "position",
          "video_id_idx",
          "idx_product_type_position"
        ],
        "key": "video_id_idx",
        "used_key_parts": [
          "video_id"
        ],
        "key_length": "3",
        "rows_examined_per_scan": 21,
        "rows_produced_per_join": 21,
        "filtered": "100.00",
        "using_index": true,
        "cost_info": {
          "read_cost": "2.76",
          "eval_cost": "2.10",
          "prefix_cost": "4.86",
          "data_read_per_join": "504"
        },
        "used_columns": [
          "video_id",
          "product_id",
          "type"
        ],
        "attached_condition": "(`cscart_db`.`cscart_cp_video_product_links`.`video_id` in (2045,2046,2047,2040,2041,2038,2026,2028,2018,2020))"
      }
    }
  }
}

Result

video_id products
2018 37518
2020 36139
2026 3963, 7266
2028 37916, 38088
2038 13925, 38088
2040 66418, 66421, 66428
2041 37916, 63944
2045 31718, 32931, 65229
2046 67057, 67104, 67145
2047 66919, 66922